From 97341bca4366d7488bcb53beb5506f864d30ce3c Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 11 Mar 2026 13:57:46 +0800 Subject: [PATCH 01/11] =?UTF-8?q?perf(X-Pack):=20=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/api/report/bo/TableSysVariable.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java b/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java index 7af112262a..51e6ada733 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java @@ -4,12 +4,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.util.List; @NoArgsConstructor @AllArgsConstructor @Data -public class TableSysVariable { +public class TableSysVariable implements Serializable { private Long tableId; From 1366b5dcccb0892182e3feea5eab767463d43568 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 11 Mar 2026 14:02:48 +0800 Subject: [PATCH 02/11] =?UTF-8?q?Revert=20"perf(X-Pack):=20=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E6=8A=A5=E5=91=8A=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit f9b08b59199e403ac64c90d353d4b574ca8dee1c. --- .../main/java/io/dataease/api/report/bo/TableSysVariable.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java b/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java index 51e6ada733..7af112262a 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java @@ -4,13 +4,12 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.io.Serializable; import java.util.List; @NoArgsConstructor @AllArgsConstructor @Data -public class TableSysVariable implements Serializable { +public class TableSysVariable { private Long tableId; From 511247b4c577eb3de04852a0b75200cd08e2098b Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 11 Mar 2026 14:03:23 +0800 Subject: [PATCH 03/11] =?UTF-8?q?perf(X-Pack):=20=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/api/report/bo/TableSysVariable.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java b/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java index 7af112262a..51e6ada733 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/report/bo/TableSysVariable.java @@ -4,12 +4,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.util.List; @NoArgsConstructor @AllArgsConstructor @Data -public class TableSysVariable { +public class TableSysVariable implements Serializable { private Long tableId; From 11f6909284a74d51eace5c6f8a7789148826b9bf Mon Sep 17 00:00:00 2001 From: xuwei-fit2cloud Date: Wed, 11 Mar 2026 15:58:04 +0800 Subject: [PATCH 04/11] =?UTF-8?q?refactor:=20playwright=20=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=20selenium?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- .../dataease/docker-compose-playwright.yml | 23 +++++++++++++++++++ .../dataease/docker-compose-selenium.yml | 19 --------------- installer/dataease/templates/application.yml | 2 +- installer/dectl | 4 ++-- installer/install.conf | 13 ++++------- 6 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 installer/dataease/docker-compose-playwright.yml delete mode 100644 installer/dataease/docker-compose-selenium.yml diff --git a/de-xpack b/de-xpack index 9e5779488a..2312242228 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 9e5779488a29ea07ce4848971cf50b8ab007a7df +Subproject commit 231224222851ca70f7dd4d0fbba3b18404bac49b diff --git a/installer/dataease/docker-compose-playwright.yml b/installer/dataease/docker-compose-playwright.yml new file mode 100644 index 0000000000..8ad8002e33 --- /dev/null +++ b/installer/dataease/docker-compose-playwright.yml @@ -0,0 +1,23 @@ +version: '3.8' + +services: + api: + image: registry.cn-qingdao.aliyuncs.com/dataease/de-playwright-api:v1.58.2-noble + container_name: de-playwright-api + privileged: true + environment: + - CONCURRENCY=${DE_PLAYWRIGHT_CONCURRENCY} + volumes: + - ${DE_BASE}/dataease2.0/logs:/opt/app/logs + restart: unless-stopped + init: true + ipc: host + shm_size: ${DE_PLAYWRIGHT_SHM_SIZE} + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000/health"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + networks: + - dataease-network diff --git a/installer/dataease/docker-compose-selenium.yml b/installer/dataease/docker-compose-selenium.yml deleted file mode 100644 index 5f41ec96e1..0000000000 --- a/installer/dataease/docker-compose-selenium.yml +++ /dev/null @@ -1,19 +0,0 @@ -version: '3' -services: - de-selenium: - image: registry.cn-qingdao.aliyuncs.com/dataease/standalone-chromium:123.0 - container_name: de-selenium - shm_size: 2gb - privileged: true - deploy: - resources: - limits: - cpus: ${DE_SELENIUM_CPU_LIMIT} - memory: ${DE_SELENIUM_MEM_LIMIT} - environment: - - SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP=true - - SE_NODE_OVERRIDE_MAX_SESSIONS=true - - SE_NODE_MAX_SESSIONS=5 - - TZ=Asia/Shanghai - networks: - - dataease-network diff --git a/installer/dataease/templates/application.yml b/installer/dataease/templates/application.yml index b766e8a448..5039250bd9 100644 --- a/installer/dataease/templates/application.yml +++ b/installer/dataease/templates/application.yml @@ -23,8 +23,8 @@ dataease: limit: ${DE_EXPORT_DATASET_LIMIT} origin-list: ${DE_ORIGIN_LIST} login_timeout: ${DE_LOGIN_TIMEOUT} - selenium-server: ${DE_SELENIUM_SERVER} dataease-servers: ${DE_SERVERS} + playwright-server: ${DE_PLAYWRIGHT_SERVER} task: executor: address: http://sync-task-actuator:9001 diff --git a/installer/dectl b/installer/dectl index aaba299690..792d2a6f95 100644 --- a/installer/dectl +++ b/installer/dectl @@ -58,8 +58,8 @@ function _generate_compose_file_args() { compose_files="${compose_files} -f docker-compose-task.yml" fi - if [[ -f $DE_RUNNING_BASE/docker-compose-selenium.yml ]] && [[ "$DE_EXTERNAL_SELENIUM" != "true" ]];then - compose_files="${compose_files} -f docker-compose-selenium.yml" + if [[ -f $DE_RUNNING_BASE/docker-compose-playwright.yml ]] && [[ "$DE_EXTERNAL_PLAYWRIGHT" != "true" ]];then + compose_files="${compose_files} -f docker-compose-playwright.yml" fi fi } diff --git a/installer/install.conf b/installer/install.conf index 9991015295..952323f761 100644 --- a/installer/install.conf +++ b/installer/install.conf @@ -27,14 +27,11 @@ DE_MYSQL_PASSWORD=Password123@mysql DE_MYSQL_PARAMS="autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true" # 定时报告镜像配置 -## 是否使用外部 Selenium,若使用外部 Selenium,则限制参数无效 -DE_EXTERNAL_SELENIUM=false -## Selenium 服务地址 -DE_SELENIUM_SERVER=http://de-selenium:4444/wd/hub -## selenium 镜像 CPU 限制 -DE_SELENIUM_CPU_LIMIT='1' -## selenium 镜像 内存 限制 -DE_SELENIUM_MEM_LIMIT=2g +## 是否使用外部 Playwright,若使用外部 Playwright,则限制参数无效 +DE_EXTERNAL_PLAYWRIGHT=false +DE_PLAYWRIGHT_SERVER=http://de-playwright-api:3000/screenshot +DE_PLAYWRIGHT_CONCURRENCY=4 +DE_PLAYWRIGHT_SHM_SIZE=2gb # APISIX配置 ## 是否使用外部 APISIX From 653a704f8a1a3664501091747cad66490006f18b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=98=89=E8=B1=AA?= <42510293+ziyujiahao@users.noreply.github.com> Date: Wed, 11 Mar 2026 17:02:23 +0800 Subject: [PATCH 05/11] =?UTF-8?q?pref:=20=E6=9B=B4=E6=96=B0=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=20(#18066)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de-xpack b/de-xpack index 2312242228..d3870f388c 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 231224222851ca70f7dd4d0fbba3b18404bac49b +Subproject commit d3870f388ce1f1e99b6b50e4e88a733e30b5c9b6 From b6ddb9dac4e52e5176edc372e72ae0b4afff61aa Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 11 Mar 2026 17:30:35 +0800 Subject: [PATCH 06/11] =?UTF-8?q?fix:=E3=80=90=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E3=80=91=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE=E6=BA=90=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/datasource/type/CK.java | 16 ++++++++++++++++ .../io/dataease/datasource/type/Sqlserver.java | 9 +++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/type/CK.java b/core/core-backend/src/main/java/io/dataease/datasource/type/CK.java index f21243614e..e02ffb1cac 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/type/CK.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/type/CK.java @@ -14,6 +14,8 @@ import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; @@ -29,6 +31,9 @@ public class CK extends DatasourceConfiguration { private String sslCert; private String sslKey; + private List ILLEGAL_PARAMETERS = Arrays.asList("jndi:", "rmi:", "ldap:", "ldaps:", "dns:", "nis:", "corba:", + "java.naming.factory.initial", "java.naming.provider.url"); + public String getJdbc() { String jdbcUrl; if (StringUtils.isNotEmpty(getUrlType()) && !getUrlType().equalsIgnoreCase("hostName")) { @@ -69,6 +74,7 @@ public class CK extends DatasourceConfiguration { jdbcUrl = appendCertParam(jdbcUrl, "sslCert", sslCert, "cert"); jdbcUrl = appendCertParam(jdbcUrl, "sslKey", sslKey, "key"); } + checkIllegalParameters(jdbcUrl); return jdbcUrl; } @@ -127,4 +133,14 @@ public class CK extends DatasourceConfiguration { private boolean containsParam(String jdbcUrl, String paramName) { return Pattern.compile("(?i)([?&])" + Pattern.quote(paramName) + "=").matcher(jdbcUrl).find(); } + + private void checkIllegalParameters(String jdbcUrl) { + String lowerUrl = jdbcUrl.toLowerCase(); + for (String illegalParam : ILLEGAL_PARAMETERS) { + if (lowerUrl.contains(illegalParam.toLowerCase())) { + throw new SecurityException("Illegal parameter detected in JDBC URL: " + illegalParam); + } + } + } + } diff --git a/core/core-backend/src/main/java/io/dataease/datasource/type/Sqlserver.java b/core/core-backend/src/main/java/io/dataease/datasource/type/Sqlserver.java index 16d7939e95..778b1168a0 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/type/Sqlserver.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/type/Sqlserver.java @@ -16,11 +16,11 @@ import java.util.regex.Pattern; public class Sqlserver extends DatasourceConfiguration { private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String extraParams = ""; - private List illegalParameters = Arrays.asList("autoDeserialize", "queryInterceptors", "statementInterceptors", "detectCustomCollations"); + private List illegalParameters = Arrays.asList("autoDeserialize", "queryInterceptors", "statementInterceptors", "detectCustomCollations", "jndi:", "rmi:", "ldap:", "ldaps:", "java.naming.factory.initial"); private List showTableSqls = Arrays.asList("show tables"); public String getJdbc() { - if(StringUtils.isNoneEmpty(getUrlType()) && !getUrlType().equalsIgnoreCase("hostName")){ + if (StringUtils.isNoneEmpty(getUrlType()) && !getUrlType().equalsIgnoreCase("hostName")) { if (!getJdbcUrl().startsWith("jdbc:sqlserver")) { DEException.throwException("Illegal jdbcUrl: " + getJdbcUrl()); } @@ -28,12 +28,12 @@ public class Sqlserver extends DatasourceConfiguration { } String jdbcUrl = ""; if (StringUtils.isEmpty(extraParams.trim())) { - jdbcUrl = "jdbc:sqlserver://HOSTNAME:PORT;DatabaseName=DATABASE" + jdbcUrl = "jdbc:sqlserver://HOSTNAME:PORT;DatabaseName=DATABASE" .replace("HOSTNAME", getLHost().trim()) .replace("PORT", getLPort().toString().trim()) .replace("DATABASE", getDataBase().trim()); } else { - jdbcUrl = "jdbc:sqlserver://HOSTNAME:PORT;DatabaseName=DATABASE;EXTRA_PARAMS" + jdbcUrl = "jdbc:sqlserver://HOSTNAME:PORT;DatabaseName=DATABASE;EXTRA_PARAMS" .replace("HOSTNAME", getLHost().trim()) .replace("PORT", getLPort().toString().trim()) .replace("DATABASE", getDataBase().trim()) @@ -53,4 +53,5 @@ public class Sqlserver extends DatasourceConfiguration { protected Pattern getDatabasePattern() { return DB_NAME_PATTERN; } + } From 01e8cbee8c7b747e90a488a8c554964e3f5cdb18 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Wed, 11 Mar 2026 17:50:36 +0800 Subject: [PATCH 07/11] =?UTF-8?q?fix(xpack):=20=E7=B4=A2=E5=BC=95=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de-xpack b/de-xpack index d3870f388c..5cde86ad03 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit d3870f388ce1f1e99b6b50e4e88a733e30b5c9b6 +Subproject commit 5cde86ad039828003003b5bfd7fcdff5e6bacc26 From 805d1407dbce6bf0fe2fca7fe72083b8f4e278fd Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Wed, 11 Mar 2026 17:51:33 +0800 Subject: [PATCH 08/11] =?UTF-8?q?fix(=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6)?= =?UTF-8?q?:=20=E8=AE=BE=E7=BD=AE=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E9=BB=98=E8=AE=A4=E5=80=BC=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/custom-component/v-query/Time.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/core-frontend/src/custom-component/v-query/Time.vue b/core/core-frontend/src/custom-component/v-query/Time.vue index 5a9dbe9561..373aca7805 100644 --- a/core/core-frontend/src/custom-component/v-query/Time.vue +++ b/core/core-frontend/src/custom-component/v-query/Time.vue @@ -146,6 +146,10 @@ watch( ) const handleValueChange = () => { + if (selectValue.value === null) { + selectValue.value = multiple.value ? [] : undefined + } + selectValue.value = Array.isArray(selectValue.value) ? selectValue.value.map(ele => ele && dayjs(ele).format('YYYY/MM/DD HH:mm:ss')) : selectValue.value && dayjs(selectValue.value).format('YYYY/MM/DD HH:mm:ss') From 667e837f9011cd7872b048cd923cda1dc7c5f069 Mon Sep 17 00:00:00 2001 From: jianneng-fit2cloud Date: Wed, 11 Mar 2026 18:16:00 +0800 Subject: [PATCH 09/11] =?UTF-8?q?fix(=E4=BE=9D=E8=B5=96):=20=E5=9B=BA?= =?UTF-8?q?=E5=AE=9A=20l7=20=E5=92=8C=20l7plot=20=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/package.json b/core/core-frontend/package.json index db4cd1563b..3d13191659 100644 --- a/core/core-frontend/package.json +++ b/core/core-frontend/package.json @@ -16,8 +16,8 @@ }, "dependencies": { "@antv/g2plot": "^2.4.29", - "@antv/l7": "^2.22.0", - "@antv/l7plot": "^0.5.5", + "@antv/l7": "2.23.1", + "@antv/l7plot": "0.5.11", "@antv/s2": "^1.49.0", "@babel/runtime": "^7.5.5", "@codemirror/lang-sql": "^6.4.0", From 518235688333377dc8d080579031e923e76b1e14 Mon Sep 17 00:00:00 2001 From: jianneng-fit2cloud Date: Wed, 11 Mar 2026 18:19:50 +0800 Subject: [PATCH 10/11] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=9C=B0=E5=9B=BE=E7=A9=BA=E5=80=BC=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8B=E5=9B=BE=E4=BE=8B=E5=88=9B=E5=BB=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/components/js/panel/charts/map/map.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/core-frontend/src/views/chart/components/js/panel/charts/map/map.ts b/core/core-frontend/src/views/chart/components/js/panel/charts/map/map.ts index 4170d0e2dd..554c0315d1 100644 --- a/core/core-frontend/src/views/chart/components/js/panel/charts/map/map.ts +++ b/core/core-frontend/src/views/chart/components/js/panel/charts/map/map.ts @@ -422,13 +422,15 @@ export class Map extends L7PlotChartView { value = Number.isNaN(tmp) || tmp === 'NaN' ? 'NaN' : parseFloat(tmp).toFixed(0) } } - const substituteObj = { ...item, value } + if (value && value !== '') { + const substituteObj = { ...item, value } - const domStr = substitute(ITEM_TPL, substituteObj) - const itemDom = createDom(domStr) - // 给 legend 形状用的 - itemDom.style.setProperty('--bgColor', item.color) - listDom.appendChild(itemDom) + const domStr = substitute(ITEM_TPL, substituteObj) + const itemDom = createDom(domStr) + // 给 legend 形状用的 + itemDom.style.setProperty('--bgColor', item.color) + listDom.appendChild(itemDom) + } }) return listDom } From 5c016654fc47598f14e80788f0dbb7b58cbe8439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=98=89=E8=B1=AA?= <42510293+ziyujiahao@users.noreply.github.com> Date: Wed, 11 Mar 2026 18:26:15 +0800 Subject: [PATCH 11/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F=E9=85=8D=E7=BD=AE=E9=87=8D=E7=BD=AE=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=A4=B1=E6=95=88=E9=97=AE=E9=A2=98=20(#1806?= =?UTF-8?q?5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../editor/editor-style/components/CustomColorStyleSelect.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue index e3fc846c1d..1c17834f03 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/CustomColorStyleSelect.vue @@ -234,10 +234,10 @@ const changeColorOption = (option?) => { } } const resetCustomColor = () => { - const { type } = props.chart + const type = props.chart?.type const { basicStyleForm } = state.value - if (type.includes('map')) { + if (type?.includes('map')) { changeColorOption() } else { basicStyleForm[seriesColorName.value] = []