This is an automated email from the ASF dual-hosted git repository. ovilia pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/echarts-doc.git
The following commit(s) were added to refs/heads/master by this push: new 8e6325f feat: doc for colorBy apache/echarts#13788 8e6325f is described below commit 8e6325f19604583bebbf1b234bb004677dfc0c46 Author: Ovilia <zwl.s...@gmail.com> AuthorDate: Tue Aug 31 15:16:58 2021 +0800 feat: doc for colorBy apache/echarts#13788 --- en/option/partial/colorBy.md | 8 + en/option/series/bar.md | 2 + en/option/series/boxplot.md | 2 + en/option/series/candlestick.md | 2 + en/option/series/custom.md | 2 + en/option/series/effectScatter.md | 2 + en/option/series/funnel.md | 2 + en/option/series/gauge.md | 2 + en/option/series/line.md | 2 + en/option/series/lines.md | 2 + en/option/series/map.md | 2 + en/option/series/parallel.md | 2 + en/option/series/pictorialBar.md | 2 + en/option/series/pie.md | 2 + en/option/series/radar.md | 2 + en/option/series/scatter.md | 2 + en/option/series/themeRiver.md | 2 + public/en/css/doc-bundle.css | 61 +++-- public/en/css/doc-bundle.css.map | 2 +- public/en/js/doc-bundle.js | 534 +++++++++++++++++--------------------- public/zh/css/doc-bundle.css | 61 +++-- public/zh/css/doc-bundle.css.map | 2 +- public/zh/js/doc-bundle.js | 534 +++++++++++++++++--------------------- zh/option/partial/colorBy.md | 8 + zh/option/series/bar.md | 2 + zh/option/series/boxplot.md | 2 + zh/option/series/candlestick.md | 2 + zh/option/series/custom.md | 2 + zh/option/series/effectScatter.md | 2 + zh/option/series/funnel.md | 2 + zh/option/series/gauge.md | 2 + zh/option/series/line.md | 2 + zh/option/series/lines.md | 2 + zh/option/series/map.md | 2 + zh/option/series/parallel.md | 2 + zh/option/series/pictorialBar.md | 2 + zh/option/series/pie.md | 2 + zh/option/series/radar.md | 2 + zh/option/series/scatter.md | 2 + zh/option/series/themeRiver.md | 2 + 40 files changed, 630 insertions(+), 644 deletions(-) diff --git a/en/option/partial/colorBy.md b/en/option/partial/colorBy.md new file mode 100644 index 0000000..8a3160f --- /dev/null +++ b/en/option/partial/colorBy.md @@ -0,0 +1,8 @@ +{{ target: partial-colorby }} + +## colorBy(string) = ${defaultColorBy|default("'series'")} + +The policy to take color from [option.color](~color). Valid values: + ++ `'series'`: assigns the colors in the palette by series, so that all data in the same series are in the same color; ++ `'data'`: assigns colors in the palette according to data items, with each data item using a different color. diff --git a/en/option/series/bar.md b/en/option/series/bar.md index cc32c13..c125a92 100644 --- a/en/option/series/bar.md +++ b/en/option/series/bar.md @@ -15,6 +15,8 @@ Bar chart shows different data through the height of a bar, which is used in [re {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} {{ use: partial-coord-sys( diff --git a/en/option/series/boxplot.md b/en/option/series/boxplot.md index 99723dd..798044d 100644 --- a/en/option/series/boxplot.md +++ b/en/option/series/boxplot.md @@ -29,6 +29,8 @@ Multiple `series` can be displayed in the same coordinate system. Please refer t {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} ## hoverAnimation(boolean) = true diff --git a/en/option/series/candlestick.md b/en/option/series/candlestick.md index a8551de..f32fb91 100644 --- a/en/option/series/candlestick.md +++ b/en/option/series/candlestick.md @@ -42,6 +42,8 @@ We use red to represent increasing and blue decreasing by default. If you want t {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} ## hoverAnimation(boolean) = true diff --git a/en/option/series/custom.md b/en/option/series/custom.md index c18c7e1..f9a9bcb 100644 --- a/en/option/series/custom.md +++ b/en/option/series/custom.md @@ -99,6 +99,8 @@ chart.on('click', {element: 'aaa'}, function (params) { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} {{ use: partial-coord-sys( diff --git a/en/option/series/effectScatter.md b/en/option/series/effectScatter.md index e76a945..a34900d 100644 --- a/en/option/series/effectScatter.md +++ b/en/option/series/effectScatter.md @@ -15,6 +15,8 @@ The scatter (bubble) graph with ripple animation. The special animation effect c {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} ## effectType(string) = 'ripple' diff --git a/en/option/series/funnel.md b/en/option/series/funnel.md index c5e4eb2..8c17eee 100644 --- a/en/option/series/funnel.md +++ b/en/option/series/funnel.md @@ -16,6 +16,8 @@ {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + ## min(number) = 0 <ExampleUIControlNumber default="0" step="1" /> diff --git a/en/option/series/gauge.md b/en/option/series/gauge.md index fd179e4..df94976 100644 --- a/en/option/series/gauge.md +++ b/en/option/series/gauge.md @@ -16,6 +16,8 @@ {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + {{ use: component-circular-layout() }} <!-- overwrite radius --> diff --git a/en/option/series/line.md b/en/option/series/line.md index a9308b6..70cf379 100644 --- a/en/option/series/line.md +++ b/en/option/series/line.md @@ -21,6 +21,8 @@ Broken line chart relates all the data points [symbol](~series-line.symbol) by b {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-coord-sys( seriesType = "bar", coordSysDefault = "'cartesian2d'", diff --git a/en/option/series/lines.md b/en/option/series/lines.md index b1f02a8..d022ecc 100644 --- a/en/option/series/lines.md +++ b/en/option/series/lines.md @@ -17,6 +17,8 @@ ECharts 2.x uses the `markLine` to draw the migrating effect, while in ECharts 3 {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-coord-sys( seriesType = "lines", coordSysDefault = "'geo'", diff --git a/en/option/series/map.md b/en/option/series/map.md index 07c7dfb..d2f96a6 100644 --- a/en/option/series/map.md +++ b/en/option/series/map.md @@ -17,6 +17,8 @@ Series of same [map type](~series-map.map) will show in one map. At this point, {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: geo-common( prefix = '#', inMap = true diff --git a/en/option/series/parallel.md b/en/option/series/parallel.md index be946a1..bdf51d3 100644 --- a/en/option/series/parallel.md +++ b/en/option/series/parallel.md @@ -190,6 +190,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-parallel-line-style( prefix = "#" ) }} diff --git a/en/option/series/pictorialBar.md b/en/option/series/pictorialBar.md index b0a0c3d..8ddefa8 100644 --- a/en/option/series/pictorialBar.md +++ b/en/option/series/pictorialBar.md @@ -58,6 +58,8 @@ See the example below: {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} {{ use: partial-coord-sys( diff --git a/en/option/series/pie.md b/en/option/series/pie.md index a305a62..c104f22 100644 --- a/en/option/series/pie.md +++ b/en/option/series/pie.md @@ -27,6 +27,8 @@ For multiple pie series in a single chart, you may use [left](~series-pie.left), {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + {{ use: partial-legend-hover-link() }} {{ use: partial-selected-mode() }} diff --git a/en/option/series/radar.md b/en/option/series/radar.md index cb2acfc..23d28a7 100644 --- a/en/option/series/radar.md +++ b/en/option/series/radar.md @@ -19,6 +19,8 @@ Here is the example of AQI data which is presented in radar chart. {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + ## radarIndex(number) Index of [radar](~radar) component that radar chart uses. diff --git a/en/option/series/scatter.md b/en/option/series/scatter.md index 2ebe7bc..1f383e4 100644 --- a/en/option/series/scatter.md +++ b/en/option/series/scatter.md @@ -16,6 +16,8 @@ It could be used with [rectangular coordinate](~grid) and [polar coordinate](~po {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-coord-sys( seriesType = "bar", coordSysDefault = "'cartesian2d'", diff --git a/en/option/series/themeRiver.md b/en/option/series/themeRiver.md index 48bf85d..c6e162a 100644 --- a/en/option/series/themeRiver.md +++ b/en/option/series/themeRiver.md @@ -27,6 +27,8 @@ What's more, the time attribute of the orinigal dataset would map to a single ti {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + {{ use: partial-rect-layout-width-height( componentName = 'thmemRiver', defaultLeft = '5%', diff --git a/public/en/css/doc-bundle.css b/public/en/css/doc-bundle.css index f7f34cc..6715268 100644 --- a/public/en/css/doc-bundle.css +++ b/public/en/css/doc-bundle.css @@ -248,17 +248,14 @@ position: relative; padding: 15px 0; } -.doc-content-item-card.current { - border-top: 1px solid #b03a5b; -} .doc-content-item-card .hierarchy-line { position: absolute; top: 35px; bottom: 0px; left: -14px; width: 10px; - border-left: 1px solid #C592A0; - border-bottom: 1px solid #C592A0; + border-left: 1px solid #E0E6F1; + border-bottom: 1px solid #E0E6F1; } .doc-content-item-card h4 { margin: 0; @@ -269,15 +266,13 @@ vertical-align: bottom; display: inline-block; } -.doc-content-item-card h4 .el-button { - padding: 2px; - font-size: 12px; +.doc-content-item-card h4 .expand-toggle { + font-size: 18px; margin-left: -23px; - color: #C592A0; - border-color: #C592A0; - border-radius: 4px; - background: #fff; + color: #9aadd1; + cursor: pointer; position: relative; + background-color: #fff; } .doc-content-item-card h4 .anchor { color: #C592A0; @@ -316,6 +311,10 @@ .doc-content-item-card h4 .path-parent a:hover, .doc-content-item-card h4 .path-base a:hover { text-decoration: underline; } +.doc-content-item-card h4 .current-flag { + color: #434343; + font-size: 20px; +} .doc-content-item-card h4 .default-value { color: #434343; font-size: 16px; @@ -358,6 +357,9 @@ .doc-content-item-card.level-2 > h4 .path-base { font-size: 16px; } +.doc-content-item-card.level-2 > h4 .current-flag { + font-size: 16px; +} .doc-content-item-card.level-3 > h4 .anchor { font-size: 16px; } @@ -367,6 +369,9 @@ .doc-content-item-card.level-3 > h4 .path-base { font-size: 16px; } +.doc-content-item-card.level-3 > h4 .current-flag { + font-size: 16px; +} .doc-content-item-card.level-2 { border-top: 1px solid #eee; margin-top: 10px; @@ -376,7 +381,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-3 { @@ -388,7 +393,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-4 { @@ -400,7 +405,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-5 { @@ -412,7 +417,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-6 { @@ -424,7 +429,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-7 { @@ -436,7 +441,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-8 { @@ -448,7 +453,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-9 { @@ -460,7 +465,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-10 { @@ -472,7 +477,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-11 { @@ -484,7 +489,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card .prop-types { @@ -962,6 +967,7 @@ span.CodeMirror-selectedtext { background: none; } top: 0; } #example-panel .preview-main { + position: relative; padding: 0 10px; background: #fefefe; box-sizing: border-box; @@ -1255,6 +1261,14 @@ span.CodeMirror-selectedtext { background: none; } .doc-content .item-description a { font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif; } +.doc-content table { + border: 1px solid #ddd; + border-collapse: collapse; +} +.doc-content th, .doc-content td { + padding: 10px; + border: 1px solid #eee; +} .ec-doc-tutorial .page-description h2 { font-weight: normal; font-size: 22px; @@ -1290,7 +1304,8 @@ span.CodeMirror-selectedtext { background: none; } width: 100%; } .el-autocomplete-suggestion.search-input-popper { - width: 300px !important; + width: auto !important; + min-width: 300px; } .el-autocomplete-suggestion.search-input-popper li { line-height: 28px; diff --git a/public/en/css/doc-bundle.css.map b/public/en/css/doc-bundle.css.map index e7d87fa..9400afa 100644 --- a/public/en/css/doc-bundle.css.map +++ b/public/en/css/doc-bundle.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://echartsDoc/./src/components/DocNav.vue?4e19","webpack://echartsDoc/./src/components/PropertiesList.vue?f705","webpack://echartsDoc/./src/controls/ControlColor.vue?00aa","webpack://echartsDoc/./src/controls/ControlNumber.vue?7d88","webpack://echartsDoc/./src/controls/ControlVector.vue?59cc","webpack://echartsDoc/./src/controls/ControlEnum.vue?c193","webpack://echartsDoc/./src/controls/ControlPercent.vue?4384","webpack://echartsDoc/./src/controls/ControlP [...] \ No newline at end of file +{"version":3,"sources":["webpack://echartsDoc/./src/components/DocNav.vue?4e19","webpack://echartsDoc/./src/components/PropertiesList.vue?f705","webpack://echartsDoc/./src/controls/ControlColor.vue?00aa","webpack://echartsDoc/./src/controls/ControlNumber.vue?7d88","webpack://echartsDoc/./src/controls/ControlVector.vue?59cc","webpack://echartsDoc/./src/controls/ControlEnum.vue?c193","webpack://echartsDoc/./src/controls/ControlPercent.vue?4384","webpack://echartsDoc/./src/controls/ControlP [...] \ No newline at end of file diff --git a/public/en/js/doc-bundle.js b/public/en/js/doc-bundle.js index 24b1c24..4ade970 100644 --- a/public/en/js/doc-bundle.js +++ b/public/en/js/doc-bundle.js @@ -685,6 +685,7 @@ __webpack_require__.r(__webpack_exports__); // // // +// @@ -1059,7 +1060,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var js_beautify__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(js_beautify__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash.throttle */ "./node_modules/lodash.throttle/index.js"); /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var zrender_src_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/src/core/arrayDiff */ "./node_modules/zrender/src/core/arrayDiff.js"); +/* harmony import */ var zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/arrayDiff */ "./node_modules/zrender/lib/core/arrayDiff.js"); +/* harmony import */ var zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var scroll_into_view__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! scroll-into-view */ "./node_modules/scroll-into-view/scrollIntoView.js"); /* harmony import */ var scroll_into_view__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(scroll_into_view__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../config */ "./src/config.js"); @@ -1156,33 +1158,38 @@ function fetchECharts() { function diffUpdateCode(oldCode, newCode, cmInstance) { var oldLines = oldCode.split(/\n/); var newLines = newCode.split(/\n/); - var result = Object(zrender_src_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__["default"])(oldLines, newLines); - var changedLines = []; - var len = result.length; - - for (var i = len - 1; i >= 0; i--) { - var item = result[i]; - - if (item.cmd === '-') { - cmInstance.replaceRange('', { - line: item.idx, - ch: 0 - }, { - line: item.idx + 1, - ch: 0 - }); + var diff = zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6___default()(oldLines, newLines); + var changedLines = []; // Remove lines from bottom to top so the line number won't be changed. + + for (var i = diff.length - 1; i >= 0; i--) { + var item = diff[i]; + + if (item.removed) { + for (var k = item.count - 1; k >= 0; k--) { + var idx = item.indices[k]; + cmInstance.replaceRange('', { + line: idx, + ch: 0 + }, { + line: idx + 1, + ch: 0 + }); + } } } - for (var _i = 0; _i < len; _i++) { - var _item = result[_i]; + for (var _i = 0; _i < diff.length; _i++) { + var _item = diff[_i]; - if (_item.cmd === '+') { - cmInstance.replaceRange(newLines[_item.idx] + '\n', { - line: _item.idx, - ch: 0 - }); - changedLines.push(_item.idx); + if (_item.added) { + for (var _k = 0; _k < _item.count; _k++) { + var _idx = _item.indices[_k]; + cmInstance.replaceRange(newLines[_idx] + '\n', { + line: _idx, + ch: 0 + }); + changedLines.push(_idx); + } } } @@ -1190,7 +1197,7 @@ function diffUpdateCode(oldCode, newCode, cmInstance) { cmInstance.addLineClass(idx, 'wrap', 'option-changed'); }); - if (len) { + if (diff.length) { setTimeout(function () { cmInstance.scrollIntoView({ line: changedLines[0], @@ -1615,7 +1622,7 @@ __webpack_require__.r(__webpack_exports__); }, methods: { getDesc: function getDesc(path) { - return this.descMap[path]; + return this.descMap[path] && this.descMap[path].desc; }, getName: function getName(path) { return path.split('.').pop(); @@ -9008,71 +9015,68 @@ var render = function() { [ _vm.expanded ? _c("div", { staticClass: "hierarchy-line" }) : _vm._e(), _vm._v(" "), - _c( - "h4", - [ - _vm.depth > 1 ? _c("span", { staticClass: "guider" }) : _vm._e(), - _vm._v(" "), - _vm.supportsExpandable - ? _c("el-button", { - attrs: { - plain: "", - circle: "", - size: "mini", - icon: _vm.expanded ? "el-icon-minus" : "el-icon-plus" - }, - on: { click: _vm.toggleExpanded } - }) - : _vm._e(), - _vm._v(" "), - !_vm.shared.isMobile - ? _c( - "span", - { staticClass: "path-parent" }, - _vm._l(_vm.parentPath, function(item) { - return _c( - "a", - { key: item.link, attrs: { href: "#" + item.link } }, - [_vm._v(_vm._s(item.text) + ".")] - ) - }), - 0 - ) - : _vm._e(), - _vm._v(" "), - _c("span", { staticClass: "path-base" }, [ - _c("a", { attrs: { href: "#" + _vm.baseName.link } }, [ - _vm._v(_vm._s(_vm.baseName.text)) + _c("h4", [ + _vm.depth > 1 ? _c("span", { staticClass: "guider" }) : _vm._e(), + _vm._v(" "), + _vm.supportsExpandable + ? _c("i", { + staticClass: "expand-toggle", + class: _vm.expanded + ? "el-icon-remove-outline" + : "el-icon-circle-plus-outline", + on: { click: _vm.toggleExpanded } + }) + : _vm._e(), + _vm._v(" "), + !_vm.shared.isMobile + ? _c( + "span", + { staticClass: "path-parent" }, + _vm._l(_vm.parentPath, function(item) { + return _c( + "a", + { key: item.link, attrs: { href: "#" + item.link } }, + [_vm._v(_vm._s(item.text) + ".")] + ) + }), + 0 + ) + : _vm._e(), + _vm._v(" "), + _c("span", { staticClass: "path-base" }, [ + _c("a", { attrs: { href: "#" + _vm.baseName.link } }, [ + _vm._v(_vm._s(_vm.baseName.text)) + ]) + ]), + _vm._v(" "), + _vm.shared.currentPath === _vm.nodeData.path + ? _c("span", { staticClass: "current-flag" }, [ + _c("i", { staticClass: "el-icon-caret-left" }) ]) - ]), - _vm._v(" "), - _vm.nodeData.default && _vm.nodeData.default !== "*" - ? _c("span", { staticClass: "default-value" }, [ - _vm._v(" = " + _vm._s(_vm.nodeData.default)) - ]) - : _vm._e(), - _vm._v(" "), - _vm.uiControl && _vm.shared.allOptionExamples && !_vm.shared.isMobile - ? _c( - "span", - { - class: [ - "control-toggle", - _vm.enableUIControl ? "active" : "" - ], - on: { click: _vm.toggleUIControl } - }, - [ - _c("i", [_vm._v("")]), - _vm._v( - " " + _vm._s(_vm.$t("example.tryDesc")) + "\n " - ) - ] - ) - : _vm._e() - ], - 1 - ), + : _vm._e(), + _vm._v(" "), + _vm.nodeData.default && _vm.nodeData.default !== "*" + ? _c("span", { staticClass: "default-value" }, [ + _vm._v(" = " + _vm._s(_vm.nodeData.default)) + ]) + : _vm._e(), + _vm._v(" "), + _vm.uiControl && _vm.shared.allOptionExamples && !_vm.shared.isMobile + ? _c( + "span", + { + class: ["control-toggle", _vm.enableUIControl ? "active" : ""], + on: { click: _vm.toggleUIControl } + }, + [ + _c("i", [_vm._v("")]), + _vm._v( + " " + _vm._s(_vm.$t("example.tryDesc")) + "\n " + ) + ] + ) + : _vm._e() + ]), _vm._v(" "), _c( "div", @@ -9105,26 +9109,24 @@ var render = function() { domProps: { innerHTML: _vm._s(_vm.desc) } }), _vm._v(" "), - _vm.supportsExpandable + _vm.supportsExpandable && _vm.expanded ? _c( "div", { staticClass: "children" }, _vm._l(_vm.nodeData.children, function(child) { - return _vm.expanded - ? _c("DocContentItemCard", { - key: child.path, - attrs: { - "node-data": child, - "desc-map": _vm.descMap, - depth: _vm.depth + 1, - "max-depth": _vm.maxDepth - }, - on: { - "toggle-expanded": _vm.bubbleEventToggleExapndedEvent, - "scroll-to-self": _vm.bubbleScrollToSelfEvent - } - }) - : _vm._e() + return _c("DocContentItemCard", { + key: child.path, + attrs: { + "node-data": child, + "desc-map": _vm.descMap, + depth: _vm.depth + 1, + "max-depth": _vm.maxDepth + }, + on: { + "toggle-expanded": _vm.bubbleEventToggleExapndedEvent, + "scroll-to-self": _vm.bubbleScrollToSelfEvent + } + }) }), 1 ) @@ -10571,223 +10573,159 @@ module.exports = g; /***/ }), -/***/ "./node_modules/zrender/src/core/arrayDiff.js": +/***/ "./node_modules/zrender/lib/core/arrayDiff.js": /*!****************************************************!*\ - !*** ./node_modules/zrender/src/core/arrayDiff.js ***! + !*** ./node_modules/zrender/lib/core/arrayDiff.js ***! \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; -__webpack_require__.r(__webpack_exports__); -// Hirschberg's algorithm -// http://en.wikipedia.org/wiki/Hirschberg%27s_algorithm -/** - * @module zrender/core/arrayDiff - * @author Yi Shen - */ - -function defaultCompareFunc(a, b) { - return a === b; -} - -function createItem(cmd, idx, idx1) { - var res = { - // cmd explanation - // '=': not change - // '^': replace with a new item in second array. Unused temporary - // '+': add a new item of second array - // '-': del item in first array - cmd: cmd, - // Value index, use index in the first array - // Except '+'. Adding a new item needs value in the second array - idx: idx - }; - // Replace need to know both two indices - // if (cmd === '^') { - // res.idx1 = idx1; - // } - - if (cmd === '=') { - res.idx1 = idx1; +exports.__esModule = true; +function diff(oldArr, newArr, equals) { + if (!equals) { + equals = function (a, b) { + return a === b; + }; } - return res; -} - -function append(out, cmd, idx, idx1) { - out.push(createItem(cmd, idx, idx1)); -} - -var abs = Math.abs; -// Needleman-Wunsch score -function score(arr0, arr1, i0, i1, j0, j1, equal, memo) { - var last; - var invM = i0 > i1; - var invN = j0 > j1; - var m = abs(i1 - i0); - var n = abs(j1 - j0); - var i; - var j; - for (i = 0; i <= m; i++) { - for (j = 0; j <= n; j++) { - if (i === 0) { - memo[j] = j; + oldArr = oldArr.slice(); + newArr = newArr.slice(); + var newLen = newArr.length; + var oldLen = oldArr.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ newPos: -1, components: [] }]; + var oldPos = extractCommon(bestPath[0], newArr, oldArr, 0, equals); + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + var indices = []; + for (var i = 0; i < newArr.length; i++) { + indices.push(i); + } + return [{ + indices: indices, + count: newArr.length, + added: false, + removed: false + }]; + } + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath; + var addPath = bestPath[diagonalPath - 1]; + var removePath = bestPath[diagonalPath + 1]; + var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + if (addPath) { + bestPath[diagonalPath - 1] = undefined; } - else if (j === 0) { - last = memo[j]; - memo[j] = i; + var canAdd = addPath && addPath.newPos + 1 < newLen; + var canRemove = removePath && 0 <= oldPos && oldPos < oldLen; + if (!canAdd && !canRemove) { + bestPath[diagonalPath] = undefined; + continue; } - else { - // memo[i-1][j-1] + same(arr0[i-1], arr1[j-1]) ? 0 : 1 - // Retained or replace - var val0 = arr0[invM ? (i0 - i) : (i - 1 + i0)]; - var val1 = arr1[invN ? (j0 - j) : (j - 1 + j0)]; - // Because replace is add after remove actually - // It has a higher score than removing or adding - // TODO custom score function - var score0 = last + (equal(val0, val1) ? 0 : 2); - // memo[i-1][j] + 1 - // Remove arr0[i-1] - var score1 = memo[j] + 1; - // memo[i][j-1] + 1 - // Add arr1[j-1] - var score2 = memo[j - 1] + 1; - - last = memo[j]; - memo[j] = score0 < score1 ? score0 : score1; - score2 < memo[j] && (memo[j] = score2); - // Math min of three parameters seems slow - // memo[j] = Math.min(score0, score1, score2); - } - } - } - - return memo; -} - -function hirschberg(arr0, arr1, i0, i1, j0, j1, equal, score0, score1) { - var out = []; - var len0 = i1 - i0; - var len1 = j1 - j0; - var i; - var j; - if (!len0) { - for (j = 0; j < len1; j++) { - append(out, '+', j + j0); - } - } - else if (!len1) { - for (i = 0; i < len0; i++) { - append(out, '-', i + i0); - } - } - else if (len0 === 1) { - var a = arr0[i0]; - var matched = false; - for (j = 0; j < len1; j++) { - if (equal(a, arr1[j + j0]) && !matched) { - matched = true; - // Equal and update use the index in first array - append(out, '=', i0, j + j0); + if (!canAdd || (canRemove && addPath.newPos < removePath.newPos)) { + basePath = clonePath(removePath); + pushComponent(basePath.components, false, true); } else { - // if (j === len1 - 1 && ! matched) { - // append(out, '^', i0, j + j0); - // } - // else { - append(out, '+', j + j0); - // } + basePath = addPath; + basePath.newPos++; + pushComponent(basePath.components, true, false); } - } - if (!matched) { - append(out, '-', i0); - } - } - else if (len1 === 1) { - var b = arr1[j0]; - var matched = false; - for (i = 0; i < len0; i++) { - if (equal(b, arr0[i + i0]) && !matched) { - matched = true; - append(out, '=', i + i0, j0); + oldPos = extractCommon(basePath, newArr, oldArr, diagonalPath, equals); + if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + return buildValues(basePath.components); } else { - // if (i === len0 - 1 && ! matched) { - // append(out, '^', i + i0, j0); - // } - // else { - append(out, '-', i + i0); - // } + bestPath[diagonalPath] = basePath; } } - if (!matched) { - append(out, '+', j0); - } + editLength++; } - else { - var imid = ((len0 / 2) | 0) + i0; - - score(arr0, arr1, i0, imid, j0, j1, equal, score0); - score(arr0, arr1, i1, imid + 1, j1, j0, equal, score1); - - var min = Infinity; - var jmid = 0; - var sum; - for (j = 0; j <= len1; j++) { - sum = score0[j] + score1[len1 - j]; - if (sum < min) { - min = sum; - jmid = j; - } - } - jmid += j0; - - out = hirschberg(arr0, arr1, i0, imid, j0, jmid, equal, score0, score1); - var out1 = hirschberg(arr0, arr1, imid, i1, jmid, j1, equal, score0, score1); - // Concat - for (i = 0; i < out1.length; i++) { - out.push(out1[i]); + while (editLength <= maxEditLength) { + var ret = execEditLength(); + if (ret) { + return ret; } } - return out; } - -function arrayDiff(arr0, arr1, equal) { - equal = equal || defaultCompareFunc; - // Remove the common head and tail - var i; - var j; - var len0 = arr0.length; - var len1 = arr1.length; - var lenMin = Math.min(len0, len1); - var head = []; - for (i = 0; i < lenMin; i++) { - if (!equal(arr0[i], arr1[i])) { - break; - } - append(head, '=', i, i); +function extractCommon(basePath, newArr, oldArr, diagonalPath, equals) { + var newLen = newArr.length; + var oldLen = oldArr.length; + var newPos = basePath.newPos; + var oldPos = newPos - diagonalPath; + var commonCount = 0; + while (newPos + 1 < newLen && oldPos + 1 < oldLen && equals(newArr[newPos + 1], oldArr[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + if (commonCount) { + basePath.components.push({ + count: commonCount, + added: false, + removed: false, + indices: [] + }); } - - for (j = 0; j < lenMin; j++) { - if (!equal(arr0[len0 - j - 1], arr1[len1 - j - 1])) { - break; - } + basePath.newPos = newPos; + return oldPos; +} +function pushComponent(components, added, removed) { + var last = components[components.length - 1]; + if (last && last.added === added && last.removed === removed) { + components[components.length - 1] = { + count: last.count + 1, + added: added, + removed: removed, + indices: [] + }; } - - if (len0 - j >= i || len1 - j >= i) { - var middle = hirschberg(arr0, arr1, i, len0 - j, i, len1 - j, equal, [], []); - for (i = 0; i < middle.length; i++) { - head.push(middle[i]); + else { + components.push({ + count: 1, + added: added, + removed: removed, + indices: [] + }); + } +} +function buildValues(components) { + var componentPos = 0; + var componentLen = components.length; + var newPos = 0; + var oldPos = 0; + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + if (!component.removed) { + var indices = []; + for (var i = newPos; i < newPos + component.count; i++) { + indices.push(i); + } + component.indices = indices; + newPos += component.count; + if (!component.added) { + oldPos += component.count; + } } - for (i = 0; i < j; i++) { - append(head, '=', len0 - j + i, len1 - j + i); + else { + for (var i = oldPos; i < oldPos + component.count; i++) { + component.indices.push(i); + } + oldPos += component.count; } } - return head; + return components; +} +function clonePath(path) { + return { newPos: path.newPos, components: path.components.slice(0) }; +} +function arrayDiff(oldArr, newArr, equal) { + return diff(oldArr, newArr, equal); } +exports["default"] = arrayDiff; -/* harmony default export */ __webpack_exports__["default"] = (arrayDiff); /***/ }), @@ -11832,7 +11770,7 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ECHARTS_LIB", function() { return ECHARTS_LIB; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PROPERTIES_NOT_EXPAND", function() { return PROPERTIES_NOT_EXPAND; }); -var ECHARTS_LIB = 'https://cdn.jsdelivr.net/npm/echarts@5.0.0-alpha.2/dist/echarts.min.js'; // Properties that will not be expanded by default. +var ECHARTS_LIB = 'https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js'; // Properties that will not be expanded by default. // To reduce the display of unnecessary info. var PROPERTIES_NOT_EXPAND = ['data', 'markPoint', 'markLine', 'markArea', 'tooltip']; diff --git a/public/zh/css/doc-bundle.css b/public/zh/css/doc-bundle.css index f7f34cc..6715268 100644 --- a/public/zh/css/doc-bundle.css +++ b/public/zh/css/doc-bundle.css @@ -248,17 +248,14 @@ position: relative; padding: 15px 0; } -.doc-content-item-card.current { - border-top: 1px solid #b03a5b; -} .doc-content-item-card .hierarchy-line { position: absolute; top: 35px; bottom: 0px; left: -14px; width: 10px; - border-left: 1px solid #C592A0; - border-bottom: 1px solid #C592A0; + border-left: 1px solid #E0E6F1; + border-bottom: 1px solid #E0E6F1; } .doc-content-item-card h4 { margin: 0; @@ -269,15 +266,13 @@ vertical-align: bottom; display: inline-block; } -.doc-content-item-card h4 .el-button { - padding: 2px; - font-size: 12px; +.doc-content-item-card h4 .expand-toggle { + font-size: 18px; margin-left: -23px; - color: #C592A0; - border-color: #C592A0; - border-radius: 4px; - background: #fff; + color: #9aadd1; + cursor: pointer; position: relative; + background-color: #fff; } .doc-content-item-card h4 .anchor { color: #C592A0; @@ -316,6 +311,10 @@ .doc-content-item-card h4 .path-parent a:hover, .doc-content-item-card h4 .path-base a:hover { text-decoration: underline; } +.doc-content-item-card h4 .current-flag { + color: #434343; + font-size: 20px; +} .doc-content-item-card h4 .default-value { color: #434343; font-size: 16px; @@ -358,6 +357,9 @@ .doc-content-item-card.level-2 > h4 .path-base { font-size: 16px; } +.doc-content-item-card.level-2 > h4 .current-flag { + font-size: 16px; +} .doc-content-item-card.level-3 > h4 .anchor { font-size: 16px; } @@ -367,6 +369,9 @@ .doc-content-item-card.level-3 > h4 .path-base { font-size: 16px; } +.doc-content-item-card.level-3 > h4 .current-flag { + font-size: 16px; +} .doc-content-item-card.level-2 { border-top: 1px solid #eee; margin-top: 10px; @@ -376,7 +381,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-3 { @@ -388,7 +393,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-4 { @@ -400,7 +405,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-5 { @@ -412,7 +417,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-6 { @@ -424,7 +429,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-7 { @@ -436,7 +441,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-8 { @@ -448,7 +453,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-9 { @@ -460,7 +465,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-10 { @@ -472,7 +477,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card.level-11 { @@ -484,7 +489,7 @@ width: 28px; margin-left: -39px; margin-right: 2px; - border-top: 1px solid #C592A0; + border-top: 1px solid #E0E6F1; position: relative; } .doc-content-item-card .prop-types { @@ -962,6 +967,7 @@ span.CodeMirror-selectedtext { background: none; } top: 0; } #example-panel .preview-main { + position: relative; padding: 0 10px; background: #fefefe; box-sizing: border-box; @@ -1255,6 +1261,14 @@ span.CodeMirror-selectedtext { background: none; } .doc-content .item-description a { font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif; } +.doc-content table { + border: 1px solid #ddd; + border-collapse: collapse; +} +.doc-content th, .doc-content td { + padding: 10px; + border: 1px solid #eee; +} .ec-doc-tutorial .page-description h2 { font-weight: normal; font-size: 22px; @@ -1290,7 +1304,8 @@ span.CodeMirror-selectedtext { background: none; } width: 100%; } .el-autocomplete-suggestion.search-input-popper { - width: 300px !important; + width: auto !important; + min-width: 300px; } .el-autocomplete-suggestion.search-input-popper li { line-height: 28px; diff --git a/public/zh/css/doc-bundle.css.map b/public/zh/css/doc-bundle.css.map index e7d87fa..9400afa 100644 --- a/public/zh/css/doc-bundle.css.map +++ b/public/zh/css/doc-bundle.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://echartsDoc/./src/components/DocNav.vue?4e19","webpack://echartsDoc/./src/components/PropertiesList.vue?f705","webpack://echartsDoc/./src/controls/ControlColor.vue?00aa","webpack://echartsDoc/./src/controls/ControlNumber.vue?7d88","webpack://echartsDoc/./src/controls/ControlVector.vue?59cc","webpack://echartsDoc/./src/controls/ControlEnum.vue?c193","webpack://echartsDoc/./src/controls/ControlPercent.vue?4384","webpack://echartsDoc/./src/controls/ControlP [...] \ No newline at end of file +{"version":3,"sources":["webpack://echartsDoc/./src/components/DocNav.vue?4e19","webpack://echartsDoc/./src/components/PropertiesList.vue?f705","webpack://echartsDoc/./src/controls/ControlColor.vue?00aa","webpack://echartsDoc/./src/controls/ControlNumber.vue?7d88","webpack://echartsDoc/./src/controls/ControlVector.vue?59cc","webpack://echartsDoc/./src/controls/ControlEnum.vue?c193","webpack://echartsDoc/./src/controls/ControlPercent.vue?4384","webpack://echartsDoc/./src/controls/ControlP [...] \ No newline at end of file diff --git a/public/zh/js/doc-bundle.js b/public/zh/js/doc-bundle.js index 24b1c24..4ade970 100644 --- a/public/zh/js/doc-bundle.js +++ b/public/zh/js/doc-bundle.js @@ -685,6 +685,7 @@ __webpack_require__.r(__webpack_exports__); // // // +// @@ -1059,7 +1060,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var js_beautify__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(js_beautify__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash.throttle */ "./node_modules/lodash.throttle/index.js"); /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var zrender_src_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/src/core/arrayDiff */ "./node_modules/zrender/src/core/arrayDiff.js"); +/* harmony import */ var zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zrender/lib/core/arrayDiff */ "./node_modules/zrender/lib/core/arrayDiff.js"); +/* harmony import */ var zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var scroll_into_view__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! scroll-into-view */ "./node_modules/scroll-into-view/scrollIntoView.js"); /* harmony import */ var scroll_into_view__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(scroll_into_view__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../config */ "./src/config.js"); @@ -1156,33 +1158,38 @@ function fetchECharts() { function diffUpdateCode(oldCode, newCode, cmInstance) { var oldLines = oldCode.split(/\n/); var newLines = newCode.split(/\n/); - var result = Object(zrender_src_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6__["default"])(oldLines, newLines); - var changedLines = []; - var len = result.length; - - for (var i = len - 1; i >= 0; i--) { - var item = result[i]; - - if (item.cmd === '-') { - cmInstance.replaceRange('', { - line: item.idx, - ch: 0 - }, { - line: item.idx + 1, - ch: 0 - }); + var diff = zrender_lib_core_arrayDiff__WEBPACK_IMPORTED_MODULE_6___default()(oldLines, newLines); + var changedLines = []; // Remove lines from bottom to top so the line number won't be changed. + + for (var i = diff.length - 1; i >= 0; i--) { + var item = diff[i]; + + if (item.removed) { + for (var k = item.count - 1; k >= 0; k--) { + var idx = item.indices[k]; + cmInstance.replaceRange('', { + line: idx, + ch: 0 + }, { + line: idx + 1, + ch: 0 + }); + } } } - for (var _i = 0; _i < len; _i++) { - var _item = result[_i]; + for (var _i = 0; _i < diff.length; _i++) { + var _item = diff[_i]; - if (_item.cmd === '+') { - cmInstance.replaceRange(newLines[_item.idx] + '\n', { - line: _item.idx, - ch: 0 - }); - changedLines.push(_item.idx); + if (_item.added) { + for (var _k = 0; _k < _item.count; _k++) { + var _idx = _item.indices[_k]; + cmInstance.replaceRange(newLines[_idx] + '\n', { + line: _idx, + ch: 0 + }); + changedLines.push(_idx); + } } } @@ -1190,7 +1197,7 @@ function diffUpdateCode(oldCode, newCode, cmInstance) { cmInstance.addLineClass(idx, 'wrap', 'option-changed'); }); - if (len) { + if (diff.length) { setTimeout(function () { cmInstance.scrollIntoView({ line: changedLines[0], @@ -1615,7 +1622,7 @@ __webpack_require__.r(__webpack_exports__); }, methods: { getDesc: function getDesc(path) { - return this.descMap[path]; + return this.descMap[path] && this.descMap[path].desc; }, getName: function getName(path) { return path.split('.').pop(); @@ -9008,71 +9015,68 @@ var render = function() { [ _vm.expanded ? _c("div", { staticClass: "hierarchy-line" }) : _vm._e(), _vm._v(" "), - _c( - "h4", - [ - _vm.depth > 1 ? _c("span", { staticClass: "guider" }) : _vm._e(), - _vm._v(" "), - _vm.supportsExpandable - ? _c("el-button", { - attrs: { - plain: "", - circle: "", - size: "mini", - icon: _vm.expanded ? "el-icon-minus" : "el-icon-plus" - }, - on: { click: _vm.toggleExpanded } - }) - : _vm._e(), - _vm._v(" "), - !_vm.shared.isMobile - ? _c( - "span", - { staticClass: "path-parent" }, - _vm._l(_vm.parentPath, function(item) { - return _c( - "a", - { key: item.link, attrs: { href: "#" + item.link } }, - [_vm._v(_vm._s(item.text) + ".")] - ) - }), - 0 - ) - : _vm._e(), - _vm._v(" "), - _c("span", { staticClass: "path-base" }, [ - _c("a", { attrs: { href: "#" + _vm.baseName.link } }, [ - _vm._v(_vm._s(_vm.baseName.text)) + _c("h4", [ + _vm.depth > 1 ? _c("span", { staticClass: "guider" }) : _vm._e(), + _vm._v(" "), + _vm.supportsExpandable + ? _c("i", { + staticClass: "expand-toggle", + class: _vm.expanded + ? "el-icon-remove-outline" + : "el-icon-circle-plus-outline", + on: { click: _vm.toggleExpanded } + }) + : _vm._e(), + _vm._v(" "), + !_vm.shared.isMobile + ? _c( + "span", + { staticClass: "path-parent" }, + _vm._l(_vm.parentPath, function(item) { + return _c( + "a", + { key: item.link, attrs: { href: "#" + item.link } }, + [_vm._v(_vm._s(item.text) + ".")] + ) + }), + 0 + ) + : _vm._e(), + _vm._v(" "), + _c("span", { staticClass: "path-base" }, [ + _c("a", { attrs: { href: "#" + _vm.baseName.link } }, [ + _vm._v(_vm._s(_vm.baseName.text)) + ]) + ]), + _vm._v(" "), + _vm.shared.currentPath === _vm.nodeData.path + ? _c("span", { staticClass: "current-flag" }, [ + _c("i", { staticClass: "el-icon-caret-left" }) ]) - ]), - _vm._v(" "), - _vm.nodeData.default && _vm.nodeData.default !== "*" - ? _c("span", { staticClass: "default-value" }, [ - _vm._v(" = " + _vm._s(_vm.nodeData.default)) - ]) - : _vm._e(), - _vm._v(" "), - _vm.uiControl && _vm.shared.allOptionExamples && !_vm.shared.isMobile - ? _c( - "span", - { - class: [ - "control-toggle", - _vm.enableUIControl ? "active" : "" - ], - on: { click: _vm.toggleUIControl } - }, - [ - _c("i", [_vm._v("")]), - _vm._v( - " " + _vm._s(_vm.$t("example.tryDesc")) + "\n " - ) - ] - ) - : _vm._e() - ], - 1 - ), + : _vm._e(), + _vm._v(" "), + _vm.nodeData.default && _vm.nodeData.default !== "*" + ? _c("span", { staticClass: "default-value" }, [ + _vm._v(" = " + _vm._s(_vm.nodeData.default)) + ]) + : _vm._e(), + _vm._v(" "), + _vm.uiControl && _vm.shared.allOptionExamples && !_vm.shared.isMobile + ? _c( + "span", + { + class: ["control-toggle", _vm.enableUIControl ? "active" : ""], + on: { click: _vm.toggleUIControl } + }, + [ + _c("i", [_vm._v("")]), + _vm._v( + " " + _vm._s(_vm.$t("example.tryDesc")) + "\n " + ) + ] + ) + : _vm._e() + ]), _vm._v(" "), _c( "div", @@ -9105,26 +9109,24 @@ var render = function() { domProps: { innerHTML: _vm._s(_vm.desc) } }), _vm._v(" "), - _vm.supportsExpandable + _vm.supportsExpandable && _vm.expanded ? _c( "div", { staticClass: "children" }, _vm._l(_vm.nodeData.children, function(child) { - return _vm.expanded - ? _c("DocContentItemCard", { - key: child.path, - attrs: { - "node-data": child, - "desc-map": _vm.descMap, - depth: _vm.depth + 1, - "max-depth": _vm.maxDepth - }, - on: { - "toggle-expanded": _vm.bubbleEventToggleExapndedEvent, - "scroll-to-self": _vm.bubbleScrollToSelfEvent - } - }) - : _vm._e() + return _c("DocContentItemCard", { + key: child.path, + attrs: { + "node-data": child, + "desc-map": _vm.descMap, + depth: _vm.depth + 1, + "max-depth": _vm.maxDepth + }, + on: { + "toggle-expanded": _vm.bubbleEventToggleExapndedEvent, + "scroll-to-self": _vm.bubbleScrollToSelfEvent + } + }) }), 1 ) @@ -10571,223 +10573,159 @@ module.exports = g; /***/ }), -/***/ "./node_modules/zrender/src/core/arrayDiff.js": +/***/ "./node_modules/zrender/lib/core/arrayDiff.js": /*!****************************************************!*\ - !*** ./node_modules/zrender/src/core/arrayDiff.js ***! + !*** ./node_modules/zrender/lib/core/arrayDiff.js ***! \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; -__webpack_require__.r(__webpack_exports__); -// Hirschberg's algorithm -// http://en.wikipedia.org/wiki/Hirschberg%27s_algorithm -/** - * @module zrender/core/arrayDiff - * @author Yi Shen - */ - -function defaultCompareFunc(a, b) { - return a === b; -} - -function createItem(cmd, idx, idx1) { - var res = { - // cmd explanation - // '=': not change - // '^': replace with a new item in second array. Unused temporary - // '+': add a new item of second array - // '-': del item in first array - cmd: cmd, - // Value index, use index in the first array - // Except '+'. Adding a new item needs value in the second array - idx: idx - }; - // Replace need to know both two indices - // if (cmd === '^') { - // res.idx1 = idx1; - // } - - if (cmd === '=') { - res.idx1 = idx1; +exports.__esModule = true; +function diff(oldArr, newArr, equals) { + if (!equals) { + equals = function (a, b) { + return a === b; + }; } - return res; -} - -function append(out, cmd, idx, idx1) { - out.push(createItem(cmd, idx, idx1)); -} - -var abs = Math.abs; -// Needleman-Wunsch score -function score(arr0, arr1, i0, i1, j0, j1, equal, memo) { - var last; - var invM = i0 > i1; - var invN = j0 > j1; - var m = abs(i1 - i0); - var n = abs(j1 - j0); - var i; - var j; - for (i = 0; i <= m; i++) { - for (j = 0; j <= n; j++) { - if (i === 0) { - memo[j] = j; + oldArr = oldArr.slice(); + newArr = newArr.slice(); + var newLen = newArr.length; + var oldLen = oldArr.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ newPos: -1, components: [] }]; + var oldPos = extractCommon(bestPath[0], newArr, oldArr, 0, equals); + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + var indices = []; + for (var i = 0; i < newArr.length; i++) { + indices.push(i); + } + return [{ + indices: indices, + count: newArr.length, + added: false, + removed: false + }]; + } + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath; + var addPath = bestPath[diagonalPath - 1]; + var removePath = bestPath[diagonalPath + 1]; + var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + if (addPath) { + bestPath[diagonalPath - 1] = undefined; } - else if (j === 0) { - last = memo[j]; - memo[j] = i; + var canAdd = addPath && addPath.newPos + 1 < newLen; + var canRemove = removePath && 0 <= oldPos && oldPos < oldLen; + if (!canAdd && !canRemove) { + bestPath[diagonalPath] = undefined; + continue; } - else { - // memo[i-1][j-1] + same(arr0[i-1], arr1[j-1]) ? 0 : 1 - // Retained or replace - var val0 = arr0[invM ? (i0 - i) : (i - 1 + i0)]; - var val1 = arr1[invN ? (j0 - j) : (j - 1 + j0)]; - // Because replace is add after remove actually - // It has a higher score than removing or adding - // TODO custom score function - var score0 = last + (equal(val0, val1) ? 0 : 2); - // memo[i-1][j] + 1 - // Remove arr0[i-1] - var score1 = memo[j] + 1; - // memo[i][j-1] + 1 - // Add arr1[j-1] - var score2 = memo[j - 1] + 1; - - last = memo[j]; - memo[j] = score0 < score1 ? score0 : score1; - score2 < memo[j] && (memo[j] = score2); - // Math min of three parameters seems slow - // memo[j] = Math.min(score0, score1, score2); - } - } - } - - return memo; -} - -function hirschberg(arr0, arr1, i0, i1, j0, j1, equal, score0, score1) { - var out = []; - var len0 = i1 - i0; - var len1 = j1 - j0; - var i; - var j; - if (!len0) { - for (j = 0; j < len1; j++) { - append(out, '+', j + j0); - } - } - else if (!len1) { - for (i = 0; i < len0; i++) { - append(out, '-', i + i0); - } - } - else if (len0 === 1) { - var a = arr0[i0]; - var matched = false; - for (j = 0; j < len1; j++) { - if (equal(a, arr1[j + j0]) && !matched) { - matched = true; - // Equal and update use the index in first array - append(out, '=', i0, j + j0); + if (!canAdd || (canRemove && addPath.newPos < removePath.newPos)) { + basePath = clonePath(removePath); + pushComponent(basePath.components, false, true); } else { - // if (j === len1 - 1 && ! matched) { - // append(out, '^', i0, j + j0); - // } - // else { - append(out, '+', j + j0); - // } + basePath = addPath; + basePath.newPos++; + pushComponent(basePath.components, true, false); } - } - if (!matched) { - append(out, '-', i0); - } - } - else if (len1 === 1) { - var b = arr1[j0]; - var matched = false; - for (i = 0; i < len0; i++) { - if (equal(b, arr0[i + i0]) && !matched) { - matched = true; - append(out, '=', i + i0, j0); + oldPos = extractCommon(basePath, newArr, oldArr, diagonalPath, equals); + if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + return buildValues(basePath.components); } else { - // if (i === len0 - 1 && ! matched) { - // append(out, '^', i + i0, j0); - // } - // else { - append(out, '-', i + i0); - // } + bestPath[diagonalPath] = basePath; } } - if (!matched) { - append(out, '+', j0); - } + editLength++; } - else { - var imid = ((len0 / 2) | 0) + i0; - - score(arr0, arr1, i0, imid, j0, j1, equal, score0); - score(arr0, arr1, i1, imid + 1, j1, j0, equal, score1); - - var min = Infinity; - var jmid = 0; - var sum; - for (j = 0; j <= len1; j++) { - sum = score0[j] + score1[len1 - j]; - if (sum < min) { - min = sum; - jmid = j; - } - } - jmid += j0; - - out = hirschberg(arr0, arr1, i0, imid, j0, jmid, equal, score0, score1); - var out1 = hirschberg(arr0, arr1, imid, i1, jmid, j1, equal, score0, score1); - // Concat - for (i = 0; i < out1.length; i++) { - out.push(out1[i]); + while (editLength <= maxEditLength) { + var ret = execEditLength(); + if (ret) { + return ret; } } - return out; } - -function arrayDiff(arr0, arr1, equal) { - equal = equal || defaultCompareFunc; - // Remove the common head and tail - var i; - var j; - var len0 = arr0.length; - var len1 = arr1.length; - var lenMin = Math.min(len0, len1); - var head = []; - for (i = 0; i < lenMin; i++) { - if (!equal(arr0[i], arr1[i])) { - break; - } - append(head, '=', i, i); +function extractCommon(basePath, newArr, oldArr, diagonalPath, equals) { + var newLen = newArr.length; + var oldLen = oldArr.length; + var newPos = basePath.newPos; + var oldPos = newPos - diagonalPath; + var commonCount = 0; + while (newPos + 1 < newLen && oldPos + 1 < oldLen && equals(newArr[newPos + 1], oldArr[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + if (commonCount) { + basePath.components.push({ + count: commonCount, + added: false, + removed: false, + indices: [] + }); } - - for (j = 0; j < lenMin; j++) { - if (!equal(arr0[len0 - j - 1], arr1[len1 - j - 1])) { - break; - } + basePath.newPos = newPos; + return oldPos; +} +function pushComponent(components, added, removed) { + var last = components[components.length - 1]; + if (last && last.added === added && last.removed === removed) { + components[components.length - 1] = { + count: last.count + 1, + added: added, + removed: removed, + indices: [] + }; } - - if (len0 - j >= i || len1 - j >= i) { - var middle = hirschberg(arr0, arr1, i, len0 - j, i, len1 - j, equal, [], []); - for (i = 0; i < middle.length; i++) { - head.push(middle[i]); + else { + components.push({ + count: 1, + added: added, + removed: removed, + indices: [] + }); + } +} +function buildValues(components) { + var componentPos = 0; + var componentLen = components.length; + var newPos = 0; + var oldPos = 0; + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + if (!component.removed) { + var indices = []; + for (var i = newPos; i < newPos + component.count; i++) { + indices.push(i); + } + component.indices = indices; + newPos += component.count; + if (!component.added) { + oldPos += component.count; + } } - for (i = 0; i < j; i++) { - append(head, '=', len0 - j + i, len1 - j + i); + else { + for (var i = oldPos; i < oldPos + component.count; i++) { + component.indices.push(i); + } + oldPos += component.count; } } - return head; + return components; +} +function clonePath(path) { + return { newPos: path.newPos, components: path.components.slice(0) }; +} +function arrayDiff(oldArr, newArr, equal) { + return diff(oldArr, newArr, equal); } +exports["default"] = arrayDiff; -/* harmony default export */ __webpack_exports__["default"] = (arrayDiff); /***/ }), @@ -11832,7 +11770,7 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ECHARTS_LIB", function() { return ECHARTS_LIB; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PROPERTIES_NOT_EXPAND", function() { return PROPERTIES_NOT_EXPAND; }); -var ECHARTS_LIB = 'https://cdn.jsdelivr.net/npm/echarts@5.0.0-alpha.2/dist/echarts.min.js'; // Properties that will not be expanded by default. +var ECHARTS_LIB = 'https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js'; // Properties that will not be expanded by default. // To reduce the display of unnecessary info. var PROPERTIES_NOT_EXPAND = ['data', 'markPoint', 'markLine', 'markArea', 'tooltip']; diff --git a/zh/option/partial/colorBy.md b/zh/option/partial/colorBy.md new file mode 100644 index 0000000..c3ea4ca --- /dev/null +++ b/zh/option/partial/colorBy.md @@ -0,0 +1,8 @@ +{{ target: partial-colorby }} + +## colorBy(string) = ${defaultColorBy|default("'series'")} + +从调色盘 [option.color](~color) 中取色的策略,可取值为: + ++ `'series'`:按照系列分配调色盘中的颜色,同一系列中的所有数据都是用相同的颜色; ++ `'data'`:按照数据项分配调色盘中的颜色,每个数据项都使用不同的颜色。 diff --git a/zh/option/series/bar.md b/zh/option/series/bar.md index a457304..6eb1ac9 100644 --- a/zh/option/series/bar.md +++ b/zh/option/series/bar.md @@ -91,6 +91,8 @@ option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} {{ use: partial-coord-sys( diff --git a/zh/option/series/boxplot.md b/zh/option/series/boxplot.md index 83f9820..c0ed734 100644 --- a/zh/option/series/boxplot.md +++ b/zh/option/series/boxplot.md @@ -68,6 +68,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} ## hoverAnimation(boolean) = true diff --git a/zh/option/series/candlestick.md b/zh/option/series/candlestick.md index 29348e9..98cb1f2 100644 --- a/zh/option/series/candlestick.md +++ b/zh/option/series/candlestick.md @@ -231,6 +231,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} ## hoverAnimation(boolean) = true diff --git a/zh/option/series/custom.md b/zh/option/series/custom.md index e7502d9..41a5f40 100644 --- a/zh/option/series/custom.md +++ b/zh/option/series/custom.md @@ -93,6 +93,8 @@ chart.on('click', {element: 'aaa'}, function (params) { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} {{ use: partial-coord-sys( diff --git a/zh/option/series/effectScatter.md b/zh/option/series/effectScatter.md index 0f63962..65c6b03 100644 --- a/zh/option/series/effectScatter.md +++ b/zh/option/series/effectScatter.md @@ -32,6 +32,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} ## effectType(string) = 'ripple' diff --git a/zh/option/series/funnel.md b/zh/option/series/funnel.md index 48ccc1f..2e53b62 100644 --- a/zh/option/series/funnel.md +++ b/zh/option/series/funnel.md @@ -38,6 +38,8 @@ option = { {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + ## min(number) = 0 <ExampleUIControlNumber default="0" step="1" /> diff --git a/zh/option/series/gauge.md b/zh/option/series/gauge.md index 42f90f4..b7a5298 100644 --- a/zh/option/series/gauge.md +++ b/zh/option/series/gauge.md @@ -29,6 +29,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + {{ use: component-circular-layout() }} <!-- overwrite radius --> diff --git a/zh/option/series/line.md b/zh/option/series/line.md index e2cf1eb..a63ab25 100644 --- a/zh/option/series/line.md +++ b/zh/option/series/line.md @@ -49,6 +49,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-coord-sys( seriesType = "bar", coordSysDefault = "'cartesian2d'", diff --git a/zh/option/series/lines.md b/zh/option/series/lines.md index 96da190..3723129 100644 --- a/zh/option/series/lines.md +++ b/zh/option/series/lines.md @@ -17,6 +17,8 @@ ECharts 2.x 里会用地图上的 `markLine` 去绘制迁徙效果,在 ECharts {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-coord-sys( seriesType = "lines", coordSysDefault = "'geo'", diff --git a/zh/option/series/map.md b/zh/option/series/map.md index 9fadc8e..b78c434 100644 --- a/zh/option/series/map.md +++ b/zh/option/series/map.md @@ -19,6 +19,8 @@ {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: geo-common( prefix = '#', inMap = true diff --git a/zh/option/series/parallel.md b/zh/option/series/parallel.md index f0159ce..dac6a3d 100644 --- a/zh/option/series/parallel.md +++ b/zh/option/series/parallel.md @@ -190,6 +190,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-parallel-line-style( prefix = "#" ) }} diff --git a/zh/option/series/pictorialBar.md b/zh/option/series/pictorialBar.md index a26f08e..7ff3be0 100644 --- a/zh/option/series/pictorialBar.md +++ b/zh/option/series/pictorialBar.md @@ -107,6 +107,8 @@ option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-legend-hover-link() }} {{ use: partial-coord-sys( diff --git a/zh/option/series/pie.md b/zh/option/series/pie.md index 9a62647..9f26af4 100644 --- a/zh/option/series/pie.md +++ b/zh/option/series/pie.md @@ -49,6 +49,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + {{ use: partial-legend-hover-link() }} {{ use: partial-selected-mode() }} diff --git a/zh/option/series/radar.md b/zh/option/series/radar.md index 6d89cab..e3e5545 100644 --- a/zh/option/series/radar.md +++ b/zh/option/series/radar.md @@ -55,6 +55,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + ## radarIndex(number) 雷达图所使用的 [radar](~radar) 组件的 index。 diff --git a/zh/option/series/scatter.md b/zh/option/series/scatter.md index 362c007..2645efe 100644 --- a/zh/option/series/scatter.md +++ b/zh/option/series/scatter.md @@ -85,6 +85,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby() }} + {{ use: partial-coord-sys( seriesType = "bar", coordSysDefault = "'cartesian2d'", diff --git a/zh/option/series/themeRiver.md b/zh/option/series/themeRiver.md index 08c3daa..ee63d82 100644 --- a/zh/option/series/themeRiver.md +++ b/zh/option/series/themeRiver.md @@ -100,6 +100,8 @@ const option = { {{ use: partial-series-name() }} +{{ use: partial-colorby(defaultColorBy="'data'") }} + {{ use: partial-rect-layout-width-height( componentName = 'thmemRiver', defaultLeft = '5%', --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org