From 50b83c75f55293cfa58fd2fa1e15c83142b60353 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Wed, 25 Oct 2023 10:32:26 +0800
Subject: [PATCH 01/18] =?UTF-8?q?refactor:=20=E9=A6=96=E6=AC=A1=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0=E5=9B=BE=E8=A1=A8=E7=9A=84=E5=9B=BE=E6=A0=87=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E6=97=B6=E6=9C=BA=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/core-frontend/src/custom-component/component-list.ts | 1 +
.../src/views/chart/components/editor/index.vue | 7 ++++++-
.../src/views/chart/components/views/index.vue | 2 +-
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/core/core-frontend/src/custom-component/component-list.ts b/core/core-frontend/src/custom-component/component-list.ts
index 330e3bd9f1..78f0ed76ae 100644
--- a/core/core-frontend/src/custom-component/component-list.ts
+++ b/core/core-frontend/src/custom-component/component-list.ts
@@ -211,6 +211,7 @@ for (let i = 0, len = list.length; i < len; i++) {
const item = list[i]
item.style = { ...commonStyle, ...item.style }
item['commonBackground'] = deepCopy(COMMON_COMPONENT_BACKGROUND_BASE)
+ item['state'] = 'prepare'
list[i] = { ...commonAttr, ...item }
}
diff --git a/core/core-frontend/src/views/chart/components/editor/index.vue b/core/core-frontend/src/views/chart/components/editor/index.vue
index 2dbecc1930..c17ae8a7c8 100644
--- a/core/core-frontend/src/views/chart/components/editor/index.vue
+++ b/core/core-frontend/src/views/chart/components/editor/index.vue
@@ -525,6 +525,11 @@ const calcData = (view, resetDrill = false, updateQuery = '') => {
}
}
+const updateChartData = view => {
+ curComponent.value['state'] = 'ready'
+ calcData(view, true, 'updateQuery')
+}
+
const renderChart = view => {
useEmitt().emitter.emit('renderChart-' + view.id, view)
snapshotStore.recordSnapshotCache('renderChart', view.id)
@@ -1637,7 +1642,7 @@ const onRefreshChange = val => {
{{ t('chart.update_chart_data') }}
diff --git a/core/core-frontend/src/views/chart/components/views/index.vue b/core/core-frontend/src/views/chart/components/views/index.vue
index ca58eec789..510b2eb7e0 100644
--- a/core/core-frontend/src/views/chart/components/views/index.vue
+++ b/core/core-frontend/src/views/chart/components/views/index.vue
@@ -490,7 +490,7 @@ const loadingFlag = computed(() => {
const chartAreaShow = computed(() => {
return (
- view.value.tableId ||
+ (view.value.tableId && element.value['state'] === 'ready') ||
view.value.type === 'rich-text' ||
(view.value.type === 'map' && view.value.customAttr.map.id)
)
From 0e46bad962c350cf55cf6223c9717b9ecc753056 Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Wed, 25 Oct 2023 10:41:01 +0800
Subject: [PATCH 02/18] =?UTF-8?q?fix:=20=E5=85=AC=E5=85=B1=E9=93=BE?=
=?UTF-8?q?=E6=8E=A5=E5=B8=A6=E5=AF=86=E7=A0=81=E8=B7=B3=E8=BD=AC=E6=8A=A5?=
=?UTF-8?q?=E9=94=99?=
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 24cd326ab7..e3143e3176 160000
--- a/de-xpack
+++ b/de-xpack
@@ -1 +1 @@
-Subproject commit 24cd326ab7961272b7b39595af475bbd76a55233
+Subproject commit e3143e3176ca189c35729fa7bb195264c061a824
From e963a95ffc1c2fbb5c5d0b4efbee415f594f37ae Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Wed, 25 Oct 2023 11:10:17 +0800
Subject: [PATCH 03/18] =?UTF-8?q?fix:=20=E9=9D=9Eadmin=E8=B4=A6=E5=8F=B7?=
=?UTF-8?q?=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87=E7=9B=B4=E6=8E=A5=E8=AE=BF?=
=?UTF-8?q?=E9=97=AEurl=E6=96=B9=E5=BC=8F=E8=AE=BF=E9=97=AE=E7=B3=BB?=
=?UTF-8?q?=E7=BB=9F=E8=AE=BE=E7=BD=AE=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/core-frontend/src/permission.ts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/core/core-frontend/src/permission.ts b/core/core-frontend/src/permission.ts
index a6226384bf..550d8bf2a1 100644
--- a/core/core-frontend/src/permission.ts
+++ b/core/core-frontend/src/permission.ts
@@ -49,6 +49,11 @@ router.beforeEach(async (to, from, next) => {
return pre
}, {})
}
+ if (!pathValid(to.path) && to.path !== '/404' && !to.path.startsWith('/de-link')) {
+ const firstPath = getFirstAuthMenu()
+ next({ path: firstPath || '/404' })
+ return
+ }
next()
return
}
From a17641c7b60925bd46915c6ee6afa5652405c77c Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Wed, 25 Oct 2023 11:39:37 +0800
Subject: [PATCH 04/18] =?UTF-8?q?fix:=20=E5=A4=A7=E5=B1=8F=E5=88=A0?=
=?UTF-8?q?=E9=99=A4=E6=96=87=E4=BB=B6=E5=A4=B9=E5=85=BC=E5=AE=B9=E8=84=8F?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../manage/CoreVisualizationManage.java | 31 ++++++++++---------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java
index 57b28b2f71..d4979bc207 100644
--- a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java
+++ b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.dataease.api.visualization.request.DataVisualizationBaseRequest;
import io.dataease.api.visualization.request.VisualizationWorkbranchQueryRequest;
import io.dataease.api.visualization.vo.VisualizationResourceVO;
-import io.dataease.api.visualization.vo.VisualizationStoreVO;
import io.dataease.commons.constants.DataVisualizationConstants;
import io.dataease.commons.constants.OptConstants;
import io.dataease.constant.BusiResourceEnum;
@@ -21,7 +20,6 @@ import io.dataease.visualization.dao.auto.entity.DataVisualizationInfo;
import io.dataease.visualization.dao.auto.mapper.DataVisualizationInfoMapper;
import io.dataease.visualization.dao.ext.mapper.CoreVisualiationExtMapper;
import io.dataease.visualization.dao.ext.mapper.ExtDataVisualizationMapper;
-import io.dataease.visualization.dao.ext.po.StorePO;
import io.dataease.visualization.dao.ext.po.VisualizationNodePO;
import io.dataease.visualization.dao.ext.po.VisualizationResourcePO;
import io.dataease.visualization.dto.VisualizationNodeBO;
@@ -30,7 +28,6 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
import java.util.*;
@@ -84,30 +81,34 @@ public class CoreVisualizationManage {
delIds.add(tempPid);
List childrenIdList = extMapper.queryChildrenId(tempPid);
if (CollectionUtil.isNotEmpty(childrenIdList)) {
- stack.addAll(childrenIdList);
+ childrenIdList.forEach(kid -> {
+ if (!delIds.contains(kid)) {
+ stack.add(kid);
+ }
+ });
}
}
extMapper.batchDel(delIds, System.currentTimeMillis(), AuthUtils.getUser().getUserId());
- coreOptRecentManage.saveOpt(id, OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION,OptConstants.OPT_TYPE.DELETE);
+ coreOptRecentManage.saveOpt(id, OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION, OptConstants.OPT_TYPE.DELETE);
}
@XpackInteract(value = "visualizationResourceTree", before = false)
public void move(DataVisualizationBaseRequest request) {
- if(!request.getMoveFromUpdate()){
+ if (!request.getMoveFromUpdate()) {
DataVisualizationInfo visualizationInfo = new DataVisualizationInfo();
BeanUtils.copyBean(visualizationInfo, request);
if (ObjectUtils.isEmpty(visualizationInfo.getId())) {
DEException.throwException("resource not exist");
}
visualizationInfo.setUpdateTime(System.currentTimeMillis());
- coreOptRecentManage.saveOpt(visualizationInfo.getId(), OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION,OptConstants.OPT_TYPE.UPDATE);
+ coreOptRecentManage.saveOpt(visualizationInfo.getId(), OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION, OptConstants.OPT_TYPE.UPDATE);
mapper.updateById(visualizationInfo);
}
}
@XpackInteract(value = "visualizationResourceTree", before = false)
public Long innerSave(DataVisualizationInfo visualizationInfo) {
- if(visualizationInfo.getId() == null){
+ if (visualizationInfo.getId() == null) {
Long id = IDUtils.snowID();
visualizationInfo.setId(id);
}
@@ -118,7 +119,7 @@ public class CoreVisualizationManage {
visualizationInfo.setUpdateTime(System.currentTimeMillis());
visualizationInfo.setOrgId(AuthUtils.getUser().getDefaultOid());
mapper.insert(visualizationInfo);
- coreOptRecentManage.saveOpt(visualizationInfo.getId(), OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION,OptConstants.OPT_TYPE.NEW);
+ coreOptRecentManage.saveOpt(visualizationInfo.getId(), OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION, OptConstants.OPT_TYPE.NEW);
return visualizationInfo.getId();
}
@@ -127,7 +128,7 @@ public class CoreVisualizationManage {
visualizationInfo.setUpdateTime(System.currentTimeMillis());
visualizationInfo.setUpdateBy(AuthUtils.getUser().getUserId().toString());
mapper.updateById(visualizationInfo);
- coreOptRecentManage.saveOpt(visualizationInfo.getId(), OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION,OptConstants.OPT_TYPE.UPDATE);
+ coreOptRecentManage.saveOpt(visualizationInfo.getId(), OptConstants.OPT_RESOURCE_TYPE.VISUALIZATION, OptConstants.OPT_TYPE.UPDATE);
}
private boolean isTopNode(Long pid) {
@@ -162,15 +163,15 @@ public class CoreVisualizationManage {
return iPage;
}
- List formatResult(List pos){
- if (CollectionUtil.isEmpty(pos)){
+ List formatResult(List pos) {
+ if (CollectionUtil.isEmpty(pos)) {
return new ArrayList<>();
}
return pos.stream().map(po ->
new VisualizationResourceVO(
po.getId(), po.getResourceId(), po.getName(),
- po.getType(), String.valueOf(po.getCreator()),String.valueOf(po.getLastEditor()), po.getLastEditTime(),
- po.getFavorite(),9)).toList();
+ po.getType(), String.valueOf(po.getCreator()), String.valueOf(po.getLastEditor()), po.getLastEditTime(),
+ po.getFavorite(), 9)).toList();
}
public IPage queryVisualizationPage(int goPage, int pageSize, VisualizationWorkbranchQueryRequest request) {
@@ -188,6 +189,6 @@ public class CoreVisualizationManage {
}
queryWrapper.orderBy(true, request.isAsc(), "core_opt_recent.time");
Page page = new Page<>(goPage, pageSize);
- return extDataVisualizationMapper.findRecent(page,uid, queryWrapper);
+ return extDataVisualizationMapper.findRecent(page, uid, queryWrapper);
}
}
From fe2ce6ef58f9b54de9fe6ce63f687f013f4dd0ee Mon Sep 17 00:00:00 2001
From: taojinlong
Date: Wed, 25 Oct 2023 11:47:51 +0800
Subject: [PATCH 05/18] =?UTF-8?q?fix:=20=E5=8E=BB=E6=8E=89db2=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E6=BA=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/views/visualized/data/datasource/form/option.ts | 6 ------
1 file changed, 6 deletions(-)
diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/option.ts b/core/core-frontend/src/views/visualized/data/datasource/form/option.ts
index 47854cd4e0..9bbcd6cdeb 100644
--- a/core/core-frontend/src/views/visualized/data/datasource/form/option.ts
+++ b/core/core-frontend/src/views/visualized/data/datasource/form/option.ts
@@ -85,12 +85,6 @@ export const dsTypes = [
catalog: 'OLAP',
extraParams: ''
},
- {
- type: 'db2',
- name: 'Db2',
- catalog: 'OLTP',
- extraParams: ''
- },
{
type: 'redshift',
name: 'AWS Redshift',
From 8483fd828f90c05487ab0f7ccbba9510e0a3745a Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Wed, 25 Oct 2023 13:18:43 +0800
Subject: [PATCH 06/18] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=8D?=
=?UTF-8?q?=E7=94=A8=E6=98=8E=E7=BB=86=E8=A1=A8=E7=BF=BB=E9=A1=B5=E6=A8=A1?=
=?UTF-8?q?=E5=BC=8F=E5=88=87=E6=8D=A2=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/store/modules/data-visualization/dvMain.ts | 6 +++++-
.../components/views/components/ChartComponentS2.vue | 11 +++++++----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/core/core-frontend/src/store/modules/data-visualization/dvMain.ts b/core/core-frontend/src/store/modules/data-visualization/dvMain.ts
index 88148d13b7..1ac36ccf3c 100644
--- a/core/core-frontend/src/store/modules/data-visualization/dvMain.ts
+++ b/core/core-frontend/src/store/modules/data-visualization/dvMain.ts
@@ -577,7 +577,11 @@ export const dvMainStore = defineStore('dataVisualization', {
} else {
viewInfo[propertyInfo.custom][propertyInfo.property] = propertyInfo.value
}
- useEmitt().emitter.emit('renderChart-' + viewId, viewInfo)
+ if (['tablePageMode', 'tablePageSize'].includes(propertyInfo.subProp)) {
+ useEmitt().emitter.emit('calcData-' + viewId, viewInfo)
+ } else {
+ useEmitt().emitter.emit('renderChart-' + viewId, viewInfo)
+ }
})
} else {
this.componentData.forEach(component => {
diff --git a/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue b/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue
index 74d072a1bc..6e0093baf9 100644
--- a/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue
+++ b/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue
@@ -108,18 +108,21 @@ const renderChartFromDialog = (viewInfo: Chart, chartDataInfo) => {
chartData.value = chartDataInfo
renderChart(viewInfo, false)
}
-const renderChart = (view: Chart, resetPageInfo: boolean) => {
- if (!view) {
+const renderChart = (viewInfo: Chart, resetPageInfo: boolean) => {
+ if (!viewInfo) {
return
}
// view 为引用对象 需要存库 view.data 直接赋值会导致保存不必要的数据
const chart = {
- ...defaultsDeep(view, cloneDeep(BASE_VIEW_CONFIG)),
+ ...defaultsDeep(viewInfo, cloneDeep(BASE_VIEW_CONFIG)),
data: chartData.value
} as ChartObj
setupPage(chart, resetPageInfo)
myChart?.destroy()
- const chartView = chartViewManager.getChartView(view.render, view.type) as S2ChartView
+ const chartView = chartViewManager.getChartView(
+ viewInfo.render,
+ viewInfo.type
+ ) as S2ChartView
myChart = chartView.drawChart({
container: containerId,
chart: toRaw(chart),
From 023c17bd46a01ed28a8b978294d665389adbcef1 Mon Sep 17 00:00:00 2001
From: wisonic-s
Date: Wed, 25 Oct 2023 14:30:58 +0800
Subject: [PATCH 07/18] =?UTF-8?q?refactor:=20=E8=A7=86=E5=9B=BE=E7=BC=96?=
=?UTF-8?q?=E8=BE=91=E5=B1=9E=E6=80=A7=E5=BC=80=E5=85=B3=E6=A0=B7=E5=BC=8F?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../collapse-switch-item/src/CollapseSwitchItem.vue | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue b/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue
index c9ab2a9d91..03e4972117 100644
--- a/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue
+++ b/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue
@@ -63,5 +63,18 @@ const switchValue = computed({
align-items: center;
padding-right: 8px;
flex-grow: 1;
+ :deep(.ed-switch.is-checked .ed-switch__core > .ed-switch__action) {
+ left: calc(100% - 12px);
+ }
+ :deep(span.ed-switch__core) {
+ min-width: 24px;
+ border: none;
+ height: 6px;
+ border-radius: 3px;
+ .ed-switch__action {
+ left: 0;
+ box-shadow: 0 2px 4px rgba(31, 35, 41, 0.12);
+ }
+ }
}
From 619141fd60b44d7985806bbc33d1a834a7c0daf7 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Wed, 25 Oct 2023 14:43:57 +0800
Subject: [PATCH 08/18] Update README.md
---
README.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/README.md b/README.md
index ccdc83186e..e7c960d412 100644
--- a/README.md
+++ b/README.md
@@ -16,9 +16,7 @@
DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。
-**DataEase 的工作原理:**
-
-
+
**DataEase 的优势:**
From 3bb4a31ba307977b2ddbca1706fb71784f3f0854 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Wed, 25 Oct 2023 14:51:07 +0800
Subject: [PATCH 09/18] Update README.md
---
README.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/README.md b/README.md
index e7c960d412..870ba7168e 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,6 @@
-
|说明|
From 4ae936859f038deaf98541cb077ddeee03332552 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Wed, 25 Oct 2023 15:45:41 +0800
Subject: [PATCH 10/18] =?UTF-8?q?fix:=20=E5=BF=AB=E6=8D=B7=E9=94=AE?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0el-popover=E7=9A=84=E5=BC=B9=E6=A1=86?=
=?UTF-8?q?=E7=9B=91=E6=8E=A7=EF=BC=8C=E9=98=B2=E6=AD=A2el-popover?=
=?UTF-8?q?=E5=86=85=E9=83=A8=E6=93=8D=E4=BD=9C=E5=BD=B1=E5=93=8D=E5=A4=A7?=
=?UTF-8?q?=E5=B1=8F=E5=BF=AB=E6=8D=B7=E9=94=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/core-frontend/src/utils/DeShortcutKey.ts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/core/core-frontend/src/utils/DeShortcutKey.ts b/core/core-frontend/src/utils/DeShortcutKey.ts
index 119103a51b..2417cc911e 100644
--- a/core/core-frontend/src/utils/DeShortcutKey.ts
+++ b/core/core-frontend/src/utils/DeShortcutKey.ts
@@ -83,6 +83,11 @@ const checkDialog = () => {
haveDialog = true
}
})
+ document.querySelectorAll('.ed-popover').forEach(element => {
+ if (window.getComputedStyle(element).getPropertyValue('display') != 'none') {
+ haveDialog = true
+ }
+ })
// 富文本单框
if (document.querySelector('.tox-dialog-wrap')) {
haveDialog = true
From 74f840e0fc89fcd2fcdb6eccee6861550dc4db8d Mon Sep 17 00:00:00 2001
From: wisonic-s
Date: Wed, 25 Oct 2023 15:49:09 +0800
Subject: [PATCH 11/18] =?UTF-8?q?fix:=20=E6=8A=98=E7=BA=BF=E5=9B=BE?=
=?UTF-8?q?=E5=AD=98=E5=9C=A8=E5=AD=90=E7=BB=B4=E5=BA=A6=E6=97=B6=E6=8F=90?=
=?UTF-8?q?=E7=A4=BA=E7=B1=BB=E5=88=AB=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/CollapseSwitchItem.vue | 2 +-
.../components/js/panel/charts/line/line.ts | 60 ++++++++++++++++++-
2 files changed, 59 insertions(+), 3 deletions(-)
diff --git a/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue b/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue
index 03e4972117..4476ca562f 100644
--- a/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue
+++ b/core/core-frontend/src/components/collapse-switch-item/src/CollapseSwitchItem.vue
@@ -49,7 +49,7 @@ const switchValue = computed({
:effect="themes"
size="small"
v-model="switchValue"
- @click.stop="e => onSwitchChange(e)"
+ @click.stop="onSwitchChange"
/>
diff --git a/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts b/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts
index 4e43f0b772..600b280ebb 100644
--- a/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts
+++ b/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts
@@ -5,7 +5,7 @@ import {
import { Line as G2Line, LineOptions } from '@antv/g2plot/esm/plots/line'
import { getPadding } from '../../common/common_antv'
import { flow, hexColorToRGBA, parseJson } from '@/views/chart/components/js/util'
-import { cloneDeep } from 'lodash-es'
+import { cloneDeep, isEmpty } from 'lodash-es'
import { valueFormatter } from '@/views/chart/components/js/formatter'
import {
LINE_AXIS_TYPE,
@@ -214,11 +214,67 @@ export class Line extends G2PlotChartView {
return tmpOptions
}
+ protected configTooltip(chart: Chart, options: LineOptions): LineOptions {
+ const customAttr: DeepPartial = parseJson(chart.customAttr)
+ const tooltipAttr = customAttr.tooltip
+ if (!tooltipAttr.show) {
+ return {
+ ...options,
+ tooltip: false
+ }
+ }
+ const xAxisExt = chart.xAxisExt
+ const formatterMap = tooltipAttr.seriesTooltipFormatter
+ ?.filter(i => i.show)
+ .reduce((pre, next) => {
+ pre[next.id] = next
+ return pre
+ }, {}) as Record
+ const tooltip: LineOptions['tooltip'] = {
+ showTitle: true,
+ customItems(originalItems) {
+ if (!tooltipAttr.seriesTooltipFormatter?.length) {
+ return originalItems
+ }
+ const head = originalItems[0]
+ // 非原始数据
+ if (!head.data.quotaList) {
+ return originalItems
+ }
+ const result = []
+ originalItems
+ .filter(item => formatterMap[item.data.quotaList[0].id])
+ .forEach(item => {
+ const formatter = formatterMap[item.data.quotaList[0].id]
+ const value = valueFormatter(parseFloat(item.value as string), formatter.formatterCfg)
+ let name = isEmpty(formatter.chartShowName) ? formatter.name : formatter.chartShowName
+ if (xAxisExt?.length > 0) {
+ name = item.data.category
+ }
+ result.push({ ...item, name, value })
+ })
+ head.data.dynamicTooltipValue?.forEach(item => {
+ const formatter = formatterMap[item.fieldId]
+ if (formatter) {
+ const value = valueFormatter(parseFloat(item.value), formatter.formatterCfg)
+ const name = isEmpty(formatter.chartShowName) ? formatter.name : formatter.chartShowName
+ result.push({ color: 'grey', name, value })
+ }
+ })
+ return result
+ }
+ }
+ return {
+ ...options,
+ tooltip
+ }
+ }
+
protected setupOptions(chart: Chart, options: LineOptions): LineOptions {
return flow(
this.configTheme,
this.configLabel,
- this.configMultiSeriesTooltip,
+ this.configTooltip,
this.configBasicStyle,
this.configCustomColors,
this.configLegend,
From 65ae8e84b43d05cea1986ef11ef5bd71792d987e Mon Sep 17 00:00:00 2001
From: taojinlong
Date: Wed, 25 Oct 2023 15:58:02 +0800
Subject: [PATCH 12/18] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=9B=86?=
=?UTF-8?q?=E8=84=B1=E6=95=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/io/dataease/chart/utils/ChartDataBuild.java | 4 ++--
.../io/dataease/datasource/provider/ExcelUtils.java | 5 ++++-
.../dataease/datasource/server/DatasourceServer.java | 10 ++++++----
3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java b/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java
index b0c2eba9d0..a4ca90c54a 100644
--- a/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java
+++ b/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java
@@ -1106,11 +1106,11 @@ public class ChartDataBuild {
break;
}
if (originStr.length() >= columnPermissionItem.getDesensitizationRule().getM() && originStr.length() >= columnPermissionItem.getDesensitizationRule().getN()) {
- desensitizationStr = StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, columnPermissionItem.getDesensitizationRule().getN()) + "***";
+ desensitizationStr = "***" + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, columnPermissionItem.getDesensitizationRule().getN()) + "***";
break;
}
if (originStr.length() >= columnPermissionItem.getDesensitizationRule().getM() && originStr.length() < columnPermissionItem.getDesensitizationRule().getN()) {
- desensitizationStr = StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, originStr.length()) + "***";
+ desensitizationStr = "***" + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, originStr.length());
}
break;
default:
diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java
index a53682a812..b4c3059602 100644
--- a/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java
+++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
public class ExcelUtils {
-
+ public static final String UFEFF = "\uFEFF";
private static String path = "/opt/dataease/data/excel/";
private static ObjectMapper objectMapper = new ObjectMapper();
@@ -450,6 +450,9 @@ public class ExcelUtils {
if(StringUtils.isEmpty(filedName)){
DEException.throwException("首行行中不允许有空单元格!");
}
+ if (filedName.startsWith(UFEFF)) {
+ filedName = filedName.replace(UFEFF, "");
+ }
TableField tableFiled = new TableField();
tableFiled.setName(filedName);
tableFiled.setOriginName(filedName);
diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java
index ec90781cfc..954dd2d05c 100644
--- a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java
+++ b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java
@@ -144,8 +144,10 @@ public class DatasourceServer implements DatasourceApi {
private void filterDs(List busiNodeVOS, List ids, String type, Long id) {
for (BusiNodeVO busiNodeVO : busiNodeVOS) {
if (busiNodeVO.getType() != null && busiNodeVO.getType().equalsIgnoreCase(type)) {
- if (id != null && !busiNodeVO.getId().equals(id)) {
- ids.add(busiNodeVO.getId());
+ if (id != null) {
+ if (!busiNodeVO.getId().equals(id)) {
+ ids.add(busiNodeVO.getId());
+ }
} else {
ids.add(busiNodeVO.getId());
}
@@ -166,7 +168,7 @@ public class DatasourceServer implements DatasourceApi {
List ids = new ArrayList<>();
filterDs(busiNodeVOS, ids, dataSourceDTO.getType(), dataSourceDTO.getId());
- if(CollectionUtil.isEmpty(ids)){
+ if (CollectionUtil.isEmpty(ids)) {
return false;
}
QueryWrapper wrapper = new QueryWrapper<>();
@@ -181,7 +183,7 @@ public class DatasourceServer implements DatasourceApi {
boolean hasRepeat = false;
for (CoreDatasource datasource : datasources) {
if (Arrays.asList("API", "Excel", "folder").contains(datasource.getType())) {
- continue;
+ continue;
}
DatasourceConfiguration compare = JsonUtil.parseObject(datasource.getConfiguration(), DatasourceConfiguration.class);
switch (dataSourceDTO.getType()) {
From 6b6eda00c8dc72960089f781d881b9292423fde3 Mon Sep 17 00:00:00 2001
From: taojinlong
Date: Wed, 25 Oct 2023 16:42:08 +0800
Subject: [PATCH 13/18] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90?=
=?UTF-8?q?=E7=A7=BB=E5=8A=A8=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../datasource/server/DatasourceServer.java | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java
index 954dd2d05c..e7373c95a3 100644
--- a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java
+++ b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java
@@ -19,8 +19,6 @@ import io.dataease.api.permissions.user.vo.UserFormVO;
import io.dataease.commons.constants.TaskStatus;
import io.dataease.commons.utils.CommonThreadPool;
import io.dataease.constant.DataSourceType;
-import io.dataease.dataset.dao.auto.entity.CoreDatasetTable;
-import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableMapper;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dataset.manage.DatasetDataManage;
import io.dataease.dataset.utils.TableUtils;
@@ -109,6 +107,14 @@ public class DatasourceServer implements DatasourceApi {
private boolean isUpdatingStatus = false;
+ private void getParents(Long pid, List ids) {
+ CoreDatasource parent = datasourceMapper.selectById(pid);// 查找父级folder
+ ids.add(parent.getId());
+ if (parent.getPid() != null && parent.getPid() != 0) {
+ getParents(parent.getPid(), ids);
+ }
+ }
+
public void move(DatasourceDTO dataSourceDTO) throws DEException {
switch (dataSourceDTO.getAction()) {
case "move" -> {
@@ -116,7 +122,12 @@ public class DatasourceServer implements DatasourceApi {
DEException.throwException("目录必选!");
}
if (Objects.equals(dataSourceDTO.getId(), dataSourceDTO.getPid())) {
- DEException.throwException("pid can not equal to id.");
+ DEException.throwException(Translator.get("i18n_pid_not_eq_id"));
+ }
+ List ids = new ArrayList<>();
+ getParents(dataSourceDTO.getPid(), ids);
+ if (ids.contains(dataSourceDTO.getId())) {
+ DEException.throwException(Translator.get("i18n_pid_not_eq_id"));
}
dataSourceManage.move(dataSourceDTO);
}
From 2d97fd672b3ba4e911803bf8639ccde18574ac37 Mon Sep 17 00:00:00 2001
From: taojinlong
Date: Wed, 25 Oct 2023 16:49:54 +0800
Subject: [PATCH 14/18] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=9B=86?=
=?UTF-8?q?=E8=A1=8C=E6=9D=83=E9=99=90?=
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 e3143e3176..0a8337cd2b 160000
--- a/de-xpack
+++ b/de-xpack
@@ -1 +1 @@
-Subproject commit e3143e3176ca189c35729fa7bb195264c061a824
+Subproject commit 0a8337cd2b6ea435977c22614c2a24bc9460c6c9
From f0612c689650f67489ed97d1afa16e4f02db1022 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Wed, 25 Oct 2023 17:48:48 +0800
Subject: [PATCH 15/18] =?UTF-8?q?fix:=20=E9=83=A8=E5=88=86=E5=AD=98?=
=?UTF-8?q?=E9=87=8F=E8=A7=86=E5=9B=BE=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../core-frontend/src/views/chart/components/views/index.vue | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/core/core-frontend/src/views/chart/components/views/index.vue b/core/core-frontend/src/views/chart/components/views/index.vue
index 35e432a735..0c29075911 100644
--- a/core/core-frontend/src/views/chart/components/views/index.vue
+++ b/core/core-frontend/src/views/chart/components/views/index.vue
@@ -434,7 +434,7 @@ onMounted(() => {
}
})
useEmitt({
- name: 'calcData-' + view.value.id,
+ name: 'calc-data-' + view.value.id,
callback: function (val) {
if (!state.initReady) {
return
@@ -497,7 +497,8 @@ const loadingFlag = computed(() => {
const chartAreaShow = computed(() => {
return (
- (view.value.tableId && element.value['state'] === 'ready') ||
+ (view.value.tableId &&
+ (element.value['state'] === undefined || element.value['state'] === 'ready')) ||
view.value.type === 'rich-text' ||
(view.value.type === 'map' && view.value.customAttr.map.id)
)
From 86df8c4ddc9c2a3dc0fe3e252b0b21425bc32ed4 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Wed, 25 Oct 2023 20:50:48 +0800
Subject: [PATCH 16/18] Update README.md
---
README.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 870ba7168e..0fa9021e03 100644
--- a/README.md
+++ b/README.md
@@ -52,10 +52,11 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
## DataEase 快速入门
-- 安装部署教程
-- 快速入门视频
-- 完整在线文档
-- 中文论坛支持
+- [安装部署教程](https://dataease.io/docs/installation/installation_mode/)
+- [快速入门视频](https://www.bilibili.com/video/BV1qG4y1F7uc/)
+- [完整在线文档](https://dataease.io/docs/)
+- [中文社区论坛](https://bbs.fit2cloud.com/c/de/6)
+- [模板应用市场](https://dataease.io/templates/)
## License
From 0df7211d40173d6abe721ca150d66a833f52f112 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Thu, 26 Oct 2023 00:24:00 +0800
Subject: [PATCH 17/18] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=A7?=
=?UTF-8?q?=E5=B1=8F=E5=A4=8D=E5=88=B6=E5=8D=A0=E4=BD=8D=E3=80=81=E8=A1=A8?=
=?UTF-8?q?=E6=A0=BC=E5=BF=AB=E9=80=9F=E9=9A=90=E8=97=8F=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E5=88=87=E6=8D=A2=E6=9C=AA=E6=B8=B2=E6=9F=93=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E3=80=81Mac=E5=BD=95=E5=B1=8F=E6=93=8D=E4=BD=9C=E4=B8=8E?=
=?UTF-8?q?=E5=A4=A7=E5=B1=8F=E5=BF=AB=E6=8D=B7=E9=94=AE=E5=86=B2=E7=AA=81?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../RealTimeComponentList.vue | 7 +++++--
.../store/modules/data-visualization/copy.ts | 6 ++++--
.../store/modules/data-visualization/layer.ts | 6 ++++++
core/core-frontend/src/utils/DeShortcutKey.ts | 17 +++++++++++++++++
.../src/views/chart/components/views/index.vue | 3 ++-
5 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue b/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue
index 7d87a48331..fc5d380ca5 100644
--- a/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue
+++ b/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue
@@ -221,12 +221,15 @@ const handleContextMenu = e => {
areaData.components.includes(getComponent(index))
}"
@click="onClick($event, transformIndex(index))"
- @dblclick="editComponentName(getComponent(index))"
>
-
+
{{ getComponent(index)?.name }}
{
+ useEmitt().emitter.emit('renderChart-' + curComponent.value.id)
+ }, 400)
+ }
}
}
}
diff --git a/core/core-frontend/src/utils/DeShortcutKey.ts b/core/core-frontend/src/utils/DeShortcutKey.ts
index 2417cc911e..3f264b426b 100644
--- a/core/core-frontend/src/utils/DeShortcutKey.ts
+++ b/core/core-frontend/src/utils/DeShortcutKey.ts
@@ -97,19 +97,24 @@ const checkDialog = () => {
}
let isCtrlOrCommandDown = false
+let isShiftDown = false
// 全局监听按键操作并执行相应命令
export function listenGlobalKeyDown() {
window.onkeydown = e => {
+ console.log('e.keyCode-down=' + e.keyCode)
if (!isInEditor || checkDialog()) return
const { keyCode } = e
if (positionMoveKey[keyCode] && curComponent.value) {
positionMoveKey[keyCode](keyCode)
e.preventDefault()
} else if (keyCode === shiftKey) {
+ isShiftDown = true
composeStore.setIsShiftDownStatus(true)
+ releaseKeyCheck()
} else if (keyCode === ctrlKey || keyCode === commandKey) {
isCtrlOrCommandDown = true
composeStore.setIsCtrlOrCmdDownStatus(true)
+ releaseKeyCheck()
} else if ((keyCode == deleteKey || keyCode == macDeleteKey) && curComponent.value) {
deleteComponent()
} else if (isCtrlOrCommandDown) {
@@ -124,10 +129,12 @@ export function listenGlobalKeyDown() {
}
window.onkeyup = e => {
+ console.log('e.keyCode=' + e.keyCode)
if (e.keyCode === ctrlKey || e.keyCode === commandKey) {
isCtrlOrCommandDown = false
composeStore.setIsCtrlOrCmdDownStatus(false)
} else if (e.keyCode === shiftKey) {
+ isShiftDown = true
composeStore.setIsShiftDownStatus(false)
}
}
@@ -137,6 +144,16 @@ export function listenGlobalKeyDown() {
}
}
+//当前不支持同时ctrl + shift操作
+function releaseKeyCheck() {
+ if (isCtrlOrCommandDown && isShiftDown) {
+ isCtrlOrCommandDown = false
+ composeStore.setIsCtrlOrCmdDownStatus(false)
+ isShiftDown = true
+ composeStore.setIsShiftDownStatus(false)
+ }
+}
+
function copy() {
copyStore.copy()
}
diff --git a/core/core-frontend/src/views/chart/components/views/index.vue b/core/core-frontend/src/views/chart/components/views/index.vue
index 0c29075911..7a46020a24 100644
--- a/core/core-frontend/src/views/chart/components/views/index.vue
+++ b/core/core-frontend/src/views/chart/components/views/index.vue
@@ -453,8 +453,9 @@ onMounted(() => {
return
}
initTitle()
+ const viewInfo = val ? val : view.value
nextTick(() => {
- chartComponent?.value?.renderChart(val)
+ chartComponent?.value?.renderChart(viewInfo)
})
}
})
From 80211d8c842c65d89450eebf5af09203dc1bb68a Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Thu, 26 Oct 2023 10:41:56 +0800
Subject: [PATCH 18/18] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9B=BE?=
=?UTF-8?q?=E5=B1=82=E9=87=8D=E5=91=BD=E5=90=8D=E7=82=B9=E5=87=BB=E7=94=BB?=
=?UTF-8?q?=E5=B8=83=E5=8C=BA=E5=9F=9FBlur=E6=9C=AA=E8=A7=A6=E5=8F=91?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../data-visualization/RealTimeComponentList.vue | 7 +++++--
.../components/data-visualization/canvas/CanvasCore.vue | 2 +-
.../src/components/data-visualization/canvas/Shape.vue | 6 +++---
core/core-frontend/src/views/data-visualization/index.vue | 2 +-
4 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue b/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue
index fc5d380ca5..e4033579da 100644
--- a/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue
+++ b/core/core-frontend/src/components/data-visualization/RealTimeComponentList.vue
@@ -93,7 +93,9 @@ let nameEdit = ref(false)
let editComponentId = ref('')
let inputName = ref('')
let nameInput = ref(null)
+let curEditComponent = null
const editComponentName = item => {
+ curEditComponent = curComponent.value
editComponentId.value = `#component-label-${item.id}`
nameEdit.value = true
inputName.value = item.name
@@ -106,11 +108,12 @@ const closeEditComponentName = () => {
if (!inputName.value || !inputName.value.trim()) {
return
}
- if (inputName.value.trim() === curComponent.value.name) {
+ if (inputName.value.trim() === curEditComponent.name) {
return
}
- curComponent.value.name = inputName.value
+ curEditComponent.name = inputName.value
inputName.value = ''
+ curEditComponent = null
}
const lock = () => {
diff --git a/core/core-frontend/src/components/data-visualization/canvas/CanvasCore.vue b/core/core-frontend/src/components/data-visualization/canvas/CanvasCore.vue
index 8cc26b05ac..a36fa7de9c 100644
--- a/core/core-frontend/src/components/data-visualization/canvas/CanvasCore.vue
+++ b/core/core-frontend/src/components/data-visualization/canvas/CanvasCore.vue
@@ -252,7 +252,7 @@ const handleMouseDown = e => {
}
// 如果没有选中组件 在画布上点击时需要调用 e.preventDefault() 防止触发 drop 事件
if (!curComponent.value || isPreventDrop(curComponent.value.component)) {
- e.preventDefault()
+ // e.preventDefault()
}
hideArea()
const rectInfo = editorMap.value[canvasId.value].getBoundingClientRect()
diff --git a/core/core-frontend/src/components/data-visualization/canvas/Shape.vue b/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
index 1de352f086..bf14b0aa42 100644
--- a/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
+++ b/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
@@ -385,9 +385,9 @@ const handleMouseDownOnShape = e => {
nextTick(() => eventBus.emit('componentClick'))
dvMainStore.setInEditorStatus(true)
dvMainStore.setClickComponentStatus(true)
- if (isPreventDrop(element.value.component)) {
- e.preventDefault()
- }
+ // if (isPreventDrop(element.value.component)) {
+ // e.preventDefault()
+ // }
e.stopPropagation()
if (element.value['isLock'] || !isEditMode.value) return
diff --git a/core/core-frontend/src/views/data-visualization/index.vue b/core/core-frontend/src/views/data-visualization/index.vue
index 92c1a4eb0c..d908c04e90 100644
--- a/core/core-frontend/src/views/data-visualization/index.vue
+++ b/core/core-frontend/src/views/data-visualization/index.vue
@@ -113,7 +113,7 @@ const handleDragOver = e => {
}
const handleMouseDown = e => {
- e.stopPropagation()
+ // e.stopPropagation()
dvMainStore.setClickComponentStatus(false)
// 点击画布的空区域 提前清空curComponent 防止右击菜单内容抖动
dvMainStore.setCurComponent({ component: null, index: null })