add script to extract option keys. fix some default value issue
diff --git a/build.js b/build.js
index 6915602..9722ff4 100644
--- a/build.js
+++ b/build.js
@@ -13,7 +13,7 @@
*/
const md2json = require('./tool/md2json');
-const extractDesc = require('./tool/extractDesc');
+const {extractDesc, extractOptionKeys} = require('./tool/schemaHelper');
const fs = require('fs');
const fse = require('fs-extra');
const marked = require('marked');
diff --git a/en/option/component/data-zoom-slider.md b/en/option/component/data-zoom-slider.md
index e43fa4f..a8b952e 100644
--- a/en/option/component/data-zoom-slider.md
+++ b/en/option/component/data-zoom-slider.md
@@ -3,7 +3,6 @@
# dataZoom.slider(Object)
-
Slider type dataZoom component provides functions like data thumbnail, zoom, brush to select, drag to move, click to locate.
The followling picture shows areas to interact.
@@ -151,7 +150,7 @@
version = "5.0.0"
) }}
-
+Style of move handle.
{{ use: partial-item-style(
prefix = "##",
diff --git a/en/option/component/visual-map.md b/en/option/component/visual-map.md
index 47e0cba..468d5fd 100644
--- a/en/option/component/visual-map.md
+++ b/en/option/component/visual-map.md
@@ -341,11 +341,6 @@
See available configurations in [${visualMapName}.inRange](~${visualMapName}.inRange)
-{{ use: partial-visual-map-inRange-outOfRange(
- prefix = "",
- visualMapName = ${visualMapName}
-) }}
-
## controller(Object)
Property `inRange` and `outOfRange` can be set within property `controller`, which means those `inRange` and `outOfRange` are only used on the controller (`visualMap` component itself), but are not used on chart (series). This property is useful in some scenarios when the view of controller needs to be customized in detail.
@@ -362,11 +357,6 @@
See available configurations in [${visualMapName}.inRange](~${visualMapName}.inRange)
-{{ use: partial-visual-map-inRange-outOfRange(
- prefix = "",
- visualMapName = ${visualMapName}
-) }}
-
{{ use: partial-rect-layout(
componentName = "visualMap ",
defaultZ = "4",
diff --git a/en/option/partial/decal.md b/en/option/partial/decal.md
index e5514d8..61a7de4 100644
--- a/en/option/partial/decal.md
+++ b/en/option/partial/decal.md
@@ -13,7 +13,7 @@
{{ target: partial-decal }}
-#${prefix|default('#')} symbol(string|string[]) = 'rect'
+#${prefix|default('#')} symbol(string|Array) = 'rect'
The symbol type of the decal. If it is in the type of `string[]`, it means the symbols are used one by one.
@@ -35,7 +35,7 @@
The background color of the decal will be over the color of the series itself, under the decal pattern.
-#${prefix|default('#')} dashArrayX(number | number[] | (number | number[])[]) = 5
+#${prefix|default('#')} dashArrayX(number|Array) = 5
The basic pattern of the decal pattern is an infinite loop in the form of `Pattern - Blank - Pattern - Blank - Pattern - Blank` both horizontally and vertically, respectively. By setting the length of each pattern and blank, complex pattern effects can be achieved.
@@ -51,7 +51,7 @@
~[700x300](${galleryViewPath}doc-example/aria-decal&edit=1&reset=1)
-#${prefix|default('#')} dashArrayY(number | number[]) = 5
+#${prefix|default('#')} dashArrayY(number|Array) = 5
The basic pattern of the decal pattern is an infinite loop in the form of `Pattern - Blank - Pattern - Blank - Pattern - Blank` both horizontally and vertically, respectively. By setting the length of each pattern and blank, complex pattern effects can be achieved.
diff --git a/en/option/partial/item-style.md b/en/option/partial/item-style.md
index d2cb08f..bfaed34 100644
--- a/en/option/partial/item-style.md
+++ b/en/option/partial/item-style.md
@@ -52,7 +52,7 @@
) }}
{{ if: ${useDecal} }}
-#${prefix} decal(Object | 'none')
+#${prefix} decal(Object)
{{ use: partial-decal-desc(
onlyWithAreaStyle = ${decalOnlyWithAreaStyle}
diff --git a/en/option/partial/line-border-style.md b/en/option/partial/line-border-style.md
index 7a7aa23..7d9c317 100644
--- a/en/option/partial/line-border-style.md
+++ b/en/option/partial/line-border-style.md
@@ -1,8 +1,10 @@
+
{{ target: partial-line-border-style }}
{{ if: ${type} === 'border' }}
#${prefix} borderType(string|number|Array) = ${defaultType|default("'solid'")}
-{{ elif: ${type} === 'text' }}
+
+{{ elif: ${type} === 'text' }}
#${prefix} textBorderType(string|number|Array) = ${defaultType|default("'solid'")}
{{ else }}
#${prefix} type(string|number|Array) = ${defaultType|default("'solid'")}
@@ -12,7 +14,8 @@
{{ if: ${type} === 'border' }}
${name} border type.
-{{ elif: ${type} === 'text' }}
+
+{{ elif: ${type} === 'text' }}
Stroke line type of the text.
{{ else }}
line type.
@@ -25,7 +28,7 @@
Since `v5.0.0`, it can also be a number or a number array to specify the [dash array](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray) of the line. With {{ if: ${type} === 'border' }}
`borderDashOffset`
-{{ elif: ${type} === 'text' }}
+{{ elif: ${type} === 'text' }}
`textBorderDashOffset`
{{ else }}
`dashOffset`
@@ -34,15 +37,17 @@
For example:
```js
{
- {{ if: ${type} === 'border' }}borderType{{ elif: ${type} === 'text' }}textBorderType{{ else }}type{{ /if }}: [5, 10],
- {{ if: ${type} === 'border' }}borderDashOffset{{ elif: ${type} === 'text' }}textBorderDashOffset{{ else }}dashOffset{{ /if }}: 5
+
+{{ if: ${type} === 'border' }}borderType{{ elif: ${type} === 'text' }}textBorderType{{ else }}type{{ /if }}: [5, 10],
+
+{{ if: ${type} === 'border' }}borderDashOffset{{ elif: ${type} === 'text' }}textBorderDashOffset{{ else }}dashOffset{{ /if }}: 5
}
```
-
{{ if: ${type} === 'border' }}
#${prefix} borderDashOffset(number) = 0
-{{ elif: ${type} === 'text' }}
+
+{{ elif: ${type} === 'text' }}
#${prefix} textBorderDashOffset(number) = 0
{{ else }}
#${prefix} dashOffset(number) = 0
@@ -56,7 +61,7 @@
To set the line dash offset. With {{ if: ${type} === 'border' }}
`borderType`
-{{ elif: ${type} === 'text' }}
+{{ elif: ${type} === 'text' }}
`textBorderType`
{{ else }}
`type`
@@ -64,9 +69,7 @@
Refer to MDN [lineDashOffset](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset) for more details.
-
{{ if: !${noCap} }}
-
{{ if: ${type} === 'border' }}
#${prefix} borderCap(string) = 'butt'
{{ else }}
@@ -86,12 +89,9 @@
+ `'square'`: The ends of lines are squared off by adding a box with an equal width and half the height of the line's thickness.
Default value is `'butt'`. Refer to MDN [lineCap](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineCap) for more details.
-
{{ /if }}
-
{{ if: !${noJoin} }}
-
{{ if: ${type} === 'border' }}
#${prefix} borderJoin(string) = 'bevel'
{{ else }}
@@ -116,12 +116,9 @@
{{ /if }} property.
Default value is `'bevel'`. Refer to MDN [lineJoin](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin) for more details.
-
{{ /if }}
-
{{ if: !${noMiterLimit} }}
-
{{ if: ${type} === 'border' }}
#${prefix} borderMiterLimit(number) = 10
{{ else }}
@@ -143,5 +140,5 @@
Default value is `10`. Negative、`0`、`Infinity` and `NaN` values are ignored.
Refer to MDN [miterLimit](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/miterLimit) for more details.
+{{ /if }}
-{{ /if }}
\ No newline at end of file
diff --git a/en/option/partial/zr-graphic.md b/en/option/partial/zr-graphic.md
index 1c8da22..14f28b7 100644
--- a/en/option/partial/zr-graphic.md
+++ b/en/option/partial/zr-graphic.md
@@ -1360,7 +1360,7 @@
}
```
-###${prefix} offset(number[])
+###${prefix} offset(Array)
Offset of the `textContent`.
diff --git a/en/option/series/bar.md b/en/option/series/bar.md
index c0eead9..8693d68 100644
--- a/en/option/series/bar.md
+++ b/en/option/series/bar.md
@@ -326,7 +326,7 @@
) }}
{{ if: ${useDecal} }}
-#${prefix} decal(Object | 'none')
+#${prefix} decal(Object)
{{ use: partial-decal-desc() }}
diff --git a/en/option/series/treemap.md b/en/option/series/treemap.md
index 78d6ca7..00d7ce2 100644
--- a/en/option/series/treemap.md
+++ b/en/option/series/treemap.md
@@ -723,7 +723,7 @@
prefix = ${prefix}
) }}
-#${prefix} decal(Object | 'none')
+#${prefix} decal(Object)
{{ use: partial-decal-desc() }}
diff --git a/tool/extractOptionKeys.js b/tool/extractOptionKeys.js
new file mode 100644
index 0000000..3be8882
--- /dev/null
+++ b/tool/extractOptionKeys.js
@@ -0,0 +1,7 @@
+const fs = require('fs');
+const { extractOptionKeys } = require('./schemaHelper');
+
+
+
+const schema = JSON.parse(fs.readFileSync(__dirname + '/../public/zh/documents/option.json', 'utf-8'));
+console.log(JSON.stringify(extractOptionKeys(schema)));
\ No newline at end of file
diff --git a/tool/extractDesc.js b/tool/schemaHelper.js
similarity index 88%
rename from tool/extractDesc.js
rename to tool/schemaHelper.js
index e0e489e..5ee6ebc 100644
--- a/tool/extractDesc.js
+++ b/tool/schemaHelper.js
@@ -37,7 +37,9 @@
}
innerTraverse(schema.option, rootName, false);
-}
+};
+
+module.exports.traverse = traverse;
function convertToTree(rootSchema, rootNode) {
@@ -139,6 +141,28 @@
);
};
+module.exports.extractOptionKeys = function (schema) {
+ const keysRepeatCount = {};
+ const keysList = [];
+ traverse(schema, '', (schemaPath, schemaNode) => {
+ if (!schemaPath) {
+ return;
+ }
+ const leafKey = schemaPath.split(/[\.-]/g).pop();
+ if (keysRepeatCount[leafKey] == null) {
+ keysRepeatCount[leafKey] = 0;
+ keysList.push(leafKey);
+ }
+ keysRepeatCount[leafKey]++;
+ });
+ return keysList.map(key => {
+ return {
+ name: key,
+ count: keysRepeatCount[key]
+ };
+ }).sort((a, b) => b.count - a.count);
+};
+
// Partion the descriptions by the first part of path. For example
// { "title.label", "series-line.data", "series-bar.data" }
// Will be
@@ -147,7 +171,7 @@
// "series-line": {"data"},
// "series-bar": {"data"}
// }
-module.exports = function (schema, docName) {
+module.exports.extractDesc = function (schema, docName) {
let descriptionsMap = {};
let propWithUIControlCount = 0;
let propTotalCount = 0;
diff --git a/zh/option/partial/decal.md b/zh/option/partial/decal.md
index 461fd81..746fa02 100644
--- a/zh/option/partial/decal.md
+++ b/zh/option/partial/decal.md
@@ -14,7 +14,7 @@
{{ target: partial-decal }}
-#${prefix|default('#')} symbol(string|string[]) = 'rect'
+#${prefix|default('#')} symbol(string|Array) = 'rect'
贴花的图案,如果是 `string[]` 表示循环使用数组中的图案。
@@ -36,7 +36,7 @@
贴花的背景色,将会覆盖在系列本身颜色之上,贴花图案之下。
-#${prefix|default('#')} dashArrayX(number | number[] | (number | number[])[]) = 5
+#${prefix|default('#')} dashArrayX(number|Array) = 5
贴花图案的基本模式是在横向和纵向上分别以`图案 - 空白 - 图案 - 空白 - 图案 - 空白`的形式无限循环。通过设置每个图案和空白的长度,可以实现复杂的图案效果。
@@ -52,7 +52,7 @@
~[700x300](${galleryViewPath}doc-example/aria-decal&edit=1&reset=1)
-#${prefix|default('#')} dashArrayY(number | number[]) = 5
+#${prefix|default('#')} dashArrayY(number|Array) = 5
贴花图案的基本模式是在横向和纵向上分别以`图案 - 空白 - 图案 - 空白 - 图案 - 空白`的形式无限循环。通过设置每个图案和空白的长度,可以实现复杂的图案效果。
diff --git a/zh/option/partial/item-style.md b/zh/option/partial/item-style.md
index ca08858..d4a1818 100644
--- a/zh/option/partial/item-style.md
+++ b/zh/option/partial/item-style.md
@@ -53,7 +53,7 @@
{{ if: ${useDecal} }}
-#${prefix} decal(Object | 'none')
+#${prefix} decal(Object)
{{ use: partial-decal-desc(
onlyWithAreaStyle = ${decalOnlyWithAreaStyle}
diff --git a/zh/option/partial/zr-graphic.md b/zh/option/partial/zr-graphic.md
index 9b871db..2cfbe06 100644
--- a/zh/option/partial/zr-graphic.md
+++ b/zh/option/partial/zr-graphic.md
@@ -1413,7 +1413,7 @@
}
```
-###${prefix} offset(number[])
+###${prefix} offset(Array)
`textContent` 的偏移。
diff --git a/zh/option/series/bar.md b/zh/option/series/bar.md
index 7ea29e3..20fb04f 100644
--- a/zh/option/series/bar.md
+++ b/zh/option/series/bar.md
@@ -407,7 +407,7 @@
{{ if: ${useDecal} }}
-#${prefix} decal(Object | 'none')
+#${prefix} decal(Object)
{{ use: partial-decal-desc() }}
diff --git a/zh/option/series/treemap.md b/zh/option/series/treemap.md
index 5975ab9..cdfbf3d 100644
--- a/zh/option/series/treemap.md
+++ b/zh/option/series/treemap.md
@@ -864,7 +864,7 @@
prefix = ${prefix}
) }}
-#${prefix} decal(Object | 'none')
+#${prefix} decal(Object)
{{ use: partial-decal-desc() }}