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.git


The following commit(s) were added to refs/heads/master by this push:
     new db2036530 fix(source): fix multi typed array detect error
     new bb1e18cc3 Merge pull request #19035 from linghaoSu/fix/typed-array-list
db2036530 is described below

commit db20365305680b09276ffbbf5b2e86c7d13385de
Author: linghao.su <slh...@live.cn>
AuthorDate: Wed Aug 23 22:52:07 2023 +0800

    fix(source): fix multi typed array detect error
---
 src/data/Source.ts                       |   2 +-
 test/dataset-source-two-typed-array.html | 271 +++++++++++++++++++++++++++++++
 2 files changed, 272 insertions(+), 1 deletion(-)

diff --git a/src/data/Source.ts b/src/data/Source.ts
index 95a341041..adbeeaf55 100644
--- a/src/data/Source.ts
+++ b/src/data/Source.ts
@@ -271,7 +271,7 @@ export function detectSourceFormat(data: 
DatasetOption['source']): SourceFormat
             if (item == null) {
                 continue;
             }
-            else if (isArray(item)) {
+            else if (isArray(item) || isTypedArray(item)) {
                 sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;
                 break;
             }
diff --git a/test/dataset-source-two-typed-array.html 
b/test/dataset-source-two-typed-array.html
new file mode 100644
index 000000000..f2c1cc8f0
--- /dev/null
+++ b/test/dataset-source-two-typed-array.html
@@ -0,0 +1,271 @@
+<!DOCTYPE html>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <script src="lib/simpleRequire.js"></script>
+    <script src="lib/config.js"></script>
+    <script src="lib/jquery.min.js"></script>
+    <script src="lib/facePrint.js"></script>
+    <script src="lib/testHelper.js"></script>
+    <!-- <script src="ut/lib/canteen.js"></script> -->
+    <link rel="stylesheet" href="lib/reset.css" />
+</head>
+
+<body>
+    <style>
+    </style>
+
+
+
+    <div id="main0"></div>
+    <div id="main1"></div>
+    <div id="main2"></div>
+    <div id="main3"></div>
+
+
+
+
+
+
+    <script>
+        require([
+            'echarts',
+            // 'map/js/china',
+            // './data/nutrients.json'
+        ], function (echarts) {
+
+            var option;
+
+            var dataset = [
+                new 
Float32Array(Uint8Array.from(atob('AACAPwAAAEAAAEBAAACAQAAAoEAAAMBAMzMDQQ=='), 
c => c.charCodeAt(0)).buffer),
+                new 
Float32Array(Uint8Array.from(atob('AACAPwAAAEAAAEBAAACAQAAAoEAAAMBAMzMDQQ=='), 
c => c.charCodeAt(0)).buffer),
+            ];
+            // [1, 2, 3, 4, 5, 6, 7],
+
+            option = {
+                "xAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                "yAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                tooltip: { show: true },
+                "dataset": [
+                    {
+                        "sourceHeader": false,
+                        "source": dataset
+                    }
+                ],
+                "series": [
+                    {
+                        "type": "line",
+                        "symbol": "circle",
+                        "datasetIndex": 0,
+                        "seriesLayoutBy": "row",
+                    }
+                ],
+            };
+
+
+            var chart = testHelper.create(echarts, 'main0', {
+                title: [
+                    'last are typed array'
+                ],
+                option: option
+                // height: 300,
+                // buttons: [{text: 'btn-txt', onclick: function () {}}],
+                // recordCanvas: true,
+            });
+        });
+    </script>
+
+
+    <script>
+        require([
+            'echarts',
+            // 'map/js/china',
+            // './data/nutrients.json'
+        ], function (echarts) {
+
+            var option;
+
+            var dataset = [
+                [1, 2, 3, 4, 5, 6, 7],
+                new 
Float32Array(Uint8Array.from(atob('AACAPwAAAEAAAEBAAACAQAAAoEAAAMBAMzMDQQ=='), 
c => c.charCodeAt(0)).buffer),
+            ];
+
+            option = {
+                "xAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                "yAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                tooltip: { show: true },
+                "dataset": [
+                    {
+                        "sourceHeader": false,
+                        "source": dataset
+                    }
+                ],
+                "series": [
+                    {
+                        "type": "line",
+                        "symbol": "circle",
+                        "datasetIndex": 0,
+                        "seriesLayoutBy": "row",
+                    }
+                ],
+            };
+
+
+            var chart = testHelper.create(echarts, 'main1', {
+                title: [
+                    'last is typed array'
+                ],
+                option: option
+                // height: 300,
+                // buttons: [{text: 'btn-txt', onclick: function () {}}],
+                // recordCanvas: true,
+            });
+        });
+    </script>
+
+
+    <script>
+        require([
+            'echarts',
+            // 'map/js/china',
+            // './data/nutrients.json'
+        ], function (echarts) {
+
+            var option;
+
+            var dataset = [
+                new 
Float32Array(Uint8Array.from(atob('AACAPwAAAEAAAEBAAACAQAAAoEAAAMBAMzMDQQ=='), 
c => c.charCodeAt(0)).buffer),
+                [1, 2, 3, 4, 5, 6, 7],
+            ];
+
+            option = {
+                "xAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                "yAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                tooltip: { show: true },
+                "dataset": [
+                    {
+                        "sourceHeader": false,
+                        "source": dataset
+                    }
+                ],
+                "series": [
+                    {
+                        "type": "line",
+                        "symbol": "circle",
+                        "datasetIndex": 0,
+                        "seriesLayoutBy": "row",
+                    }
+                ],
+            };
+
+
+            var chart = testHelper.create(echarts, 'main2', {
+                title: [
+                    'first is typed array'
+                ],
+                option: option
+                // height: 300,
+                // buttons: [{text: 'btn-txt', onclick: function () {}}],
+                // recordCanvas: true,
+            });
+        });
+    </script>
+
+
+    <script>
+        require([
+            'echarts',
+            // 'map/js/china',
+            // './data/nutrients.json'
+        ], function (echarts) {
+
+            var option;
+
+            var dataset = [
+                [1, 2, 3, 4, 5, 6, 7],
+                [1, 2, 3, 4, 5, 6, 7],
+            ];
+            // [1, 2, 3, 4, 5, 6, 7],
+
+            option = {
+                "xAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                "yAxis": {
+                    "type": "value",
+                    "show": true,
+                },
+                tooltip: { show: true },
+                "dataset": [
+                    {
+                        "sourceHeader": false,
+                        "source": dataset
+                    }
+                ],
+                "series": [
+                    {
+                        "type": "line",
+                        "symbol": "circle",
+                        "datasetIndex": 0,
+                        "seriesLayoutBy": "row",
+                    }
+                ],
+            };
+
+
+            var chart = testHelper.create(echarts, 'main3', {
+                title: [
+                    'none typed array'
+                ],
+                option: option
+                // height: 300,
+                // buttons: [{text: 'btn-txt', onclick: function () {}}],
+                // recordCanvas: true,
+            });
+        });
+    </script>
+
+</body>
+
+</html>
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org
For additional commands, e-mail: commits-h...@echarts.apache.org

Reply via email to