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 d39590b522..795cdd1e5e 100644
--- a/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
+++ b/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
@@ -304,7 +304,7 @@ const boardMoveActive = computed(() => {
'symbolic-map',
'heat-map'
]
- return CHARTS.includes(element.value.innerType)
+ return element.value.isPlugin || CHARTS.includes(element.value.innerType)
})
const dashboardActive = computed(() => {
diff --git a/core/core-frontend/src/components/plugin/src/PluginComponent.vue b/core/core-frontend/src/components/plugin/src/PluginComponent.vue
index 72433e52d3..1766d35417 100644
--- a/core/core-frontend/src/components/plugin/src/PluginComponent.vue
+++ b/core/core-frontend/src/components/plugin/src/PluginComponent.vue
@@ -94,7 +94,7 @@ const invokeMethod = param => {
if (pluginProxy.value['invokeMethod']) {
pluginProxy.value['invokeMethod'](param)
} else {
- pluginProxy.value[param.methodName](param.args)
+ pluginProxy.value[param.methodName]?.(param.args)
}
}
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 975cd5058b..22daf42a6a 100644
--- a/core/core-frontend/src/views/chart/components/editor/index.vue
+++ b/core/core-frontend/src/views/chart/components/editor/index.vue
@@ -1533,7 +1533,14 @@ const singleDragStart = (e: DragEvent, ele, type) => {
if (!activeChild.value.length) {
activeChild.value = [ele]
}
- startToMove(e, unref(activeQuota.value))
+ e.dataTransfer.setData(
+ 'quota',
+ JSON.stringify(
+ activeQuota.value
+ .filter(ele => ele.id)
+ .map(ele => ({ ...cloneDeep(unref(ele)), datasetId: view.value.tableId }))
+ )
+ )
}
const dragEnd = () => {
@@ -1613,25 +1620,25 @@ const deleteChartFieldItem = id => {
size="20px"
@click="collapseChange('chartAreaCollapse')"
>
-
-
+
+
-
+
{{ view.title }}
{{ view.title }}
-
+
-
{
>
+
@@ -1702,200 +1705,51 @@ const deleteChartFieldItem = id => {
-
-
-
- {{ t('chart.area') }}
-
-
-
-
-
-
-
-
-
- drop($event)"
- @dragenter="dragEnter"
- class="qw"
- @dragover="$event => dragOver($event)"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ chartViewInstance.axisConfig.xAxisExt.name }}
-
-
-
-
-
-
-
- drop($event, 'xAxisExt')"
- @dragenter="dragEnter"
- @dragover="$event => dragOver($event)"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ chartViewInstance.axisConfig.extStack.name }}
-
-
-
-
-
-
-
- drop($event, 'extStack')"
- @dragenter="dragEnter"
- @dragover="$event => dragOver($event)"
- >
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
- {{ chartViewInstance.axisConfig.yAxis.name }}
+ {{ chartViewInstance.axisConfig.xAxis.name }}
{
class="remove-icon"
:class="{ 'remove-icon--dark': themes === 'dark' }"
size="14px"
- @click="removeItems('yAxis')"
+ @click="removeItems('xAxis')"
>
drop($event, 'yAxis')"
+ class="qw"
+ @drop="$event => drop($event)"
@dragenter="dragEnter"
@dragover="$event => dragOver($event)"
>
onAxisChange(e, 'yAxis')"
+ @add="addXaxis"
>
- quotaItemChange(item, 'yAxis')"
- @onQuotaItemRemove="quotaItemRemove"
+ type="dimension"
+ @onDimensionItemChange="dimensionItemChange"
+ @onDimensionItemRemove="dimensionItemRemove"
@onNameEdit="showRename"
- @editItemFilter="showQuotaEditFilter"
- @editItemCompare="showQuotaEditCompare"
+ @onCustomSort="onCustomSort"
@valueFormatter="valueFormatter"
/>
-
+
-
-
+
+
+
- {{ chartViewInstance.axisConfig.extBubble.name }}
+ {{ chartViewInstance.axisConfig.xAxisExt.name }}
+
+
+
+
+
+
+
+ drop($event, 'xAxisExt')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.extStack.name }}
+
+
+
+
+
+
+
+ drop($event, 'extStack')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.yAxis.name }}
+
+
+
+
+
+
+
+ drop($event, 'yAxis')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+ onAxisChange(e, 'yAxis')"
+ >
+
+ quotaItemChange(item, 'yAxis')"
+ @onQuotaItemRemove="quotaItemRemove"
+ @onNameEdit="showRename"
+ @editItemFilter="showQuotaEditFilter"
+ @editItemCompare="showQuotaEditCompare"
+ @valueFormatter="valueFormatter"
+ />
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.extBubble.name }}
+
+
+
+
+
+
+
+ drop($event, 'extBubble')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+ onAxisChange(e, 'extBubble')"
+ >
+
+
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.yAxisExt.name }}
+
+
+
+
+
+
+
+ drop($event, 'yAxisExt')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+ onAxisChange(e, 'yAxisExt')"
+ >
+
+ quotaItemChange(item, 'yAxisExt')"
+ @onQuotaItemRemove="quotaItemRemove"
+ @onNameEdit="showRename"
+ @editItemFilter="showQuotaEditFilter"
+ @editItemCompare="showQuotaEditCompare"
+ @valueFormatter="valueFormatter"
+ />
+
+
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.yAxis.name }}
+
+
+
+
+
+
+
+ drop($event, 'yAxis')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+ onAxisChange(e, 'yAxis')"
+ >
+
+
+ quotaItemChange(item, 'yAxis')"
+ @onQuotaItemRemove="quotaItemRemove"
+ @onNameEdit="showRename"
+ @editItemFilter="showQuotaEditFilter"
+ @editItemCompare="showQuotaEditCompare"
+ @valueFormatter="valueFormatter"
+ />
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.yAxisExt.name }}
+
+
+
+
+
+
+
+ drop($event, 'yAxisExt')"
+ @dragenter="dragEnter"
+ @dragover="$event => dragOver($event)"
+ >
+ onAxisChange(e, 'yAxisExt')"
+ >
+
+
+ quotaItemChange(item, 'yAxisExt')"
+ @onQuotaItemRemove="quotaItemRemove"
+ @onNameEdit="showRename"
+ @editItemFilter="showQuotaEditFilter"
+ @editItemCompare="showQuotaEditCompare"
+ @valueFormatter="valueFormatter"
+ />
+
+
+
+
+
+
+
+
+
+
+
+ {{ chartViewInstance.axisConfig.extBubble.name }}
+
+
+
+ {{ chartViewInstance.axisConfig.extBubble.tooltip }}
+
+
+
+
+
{
@change="e => onAxisChange(e, 'extBubble')"
>
- quotaItemChange(item, 'extBubble')"
+ @onQuotaItemRemove="quotaItemRemove"
@onNameEdit="showRename"
- @onCustomSort="onExtCustomRightSort"
+ @editItemFilter="showQuotaEditFilter"
+ @editItemCompare="showQuotaEditCompare"
+ @valueFormatter="valueFormatter"
/>
-
-
+
+
+
-
- {{ chartViewInstance.axisConfig.yAxisExt.name }}
+
+
+ {{ t('chart.drill') }} / {{ t('chart.dimension') }}
+
+
+
+ {{ t('chart.drill_dimension_tip') }}
+
+
+
+
+
{
class="remove-icon"
:class="{ 'remove-icon--dark': themes === 'dark' }"
size="14px"
- @click="removeItems('yAxisExt')"
+ @click="removeItems('drillFields')"
>
drop($event, 'yAxisExt')"
+ @drop="$event => drop($event, 'drillFields')"
@dragenter="dragEnter"
@dragover="$event => dragOver($event)"
>
onAxisChange(e, 'yAxisExt')"
+ @add="addDrill"
>
- quotaItemChange(item, 'yAxisExt')"
- @onQuotaItemRemove="quotaItemRemove"
- @onNameEdit="showRename"
- @editItemFilter="showQuotaEditFilter"
- @editItemCompare="showQuotaEditCompare"
- @valueFormatter="valueFormatter"
+ @onDimensionItemChange="drillItemChange"
+ @onDimensionItemRemove="drillItemRemove"
/>
-
+
+
+
+
+
+
+ {{ t('chart.result_filter') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('chart.filter') }}
+
+
+
+
+
+
+ {{ t('chart.aggregate_time') }}
+
+
+
-
-
-
-
-
- {{ chartViewInstance.axisConfig.yAxis.name }}
-
-
-
-
-
-
-
- drop($event, 'yAxis')"
- @dragenter="dragEnter"
- @dragover="$event => dragOver($event)"
- >
- onAxisChange(e, 'yAxis')"
- >
-
-
- quotaItemChange(item, 'yAxis')"
- @onQuotaItemRemove="quotaItemRemove"
- @onNameEdit="showRename"
- @editItemFilter="showQuotaEditFilter"
- @editItemCompare="showQuotaEditCompare"
- @valueFormatter="valueFormatter"
- />
-
-
-
-
-
-
-
-
-
- {{ chartViewInstance.axisConfig.yAxisExt.name }}
-
-
-
-
-
-
-
- drop($event, 'yAxisExt')"
- @dragenter="dragEnter"
- @dragover="$event => dragOver($event)"
- >
- onAxisChange(e, 'yAxisExt')"
- >
-
-
- quotaItemChange(item, 'yAxisExt')"
- @onQuotaItemRemove="quotaItemRemove"
- @onNameEdit="showRename"
- @editItemFilter="showQuotaEditFilter"
- @editItemCompare="showQuotaEditCompare"
- @valueFormatter="valueFormatter"
- />
-
-
-
-
-
-
-
-
-
-
-
- {{ chartViewInstance.axisConfig.extBubble.name }}
-
-
-
- {{ chartViewInstance.axisConfig.extBubble.tooltip }}
-
-
-
-
-
-
-
-
-
-
-
-
- drop($event, 'extBubble')"
- @dragenter="dragEnter"
- @dragover="$event => dragOver($event)"
- >
- onAxisChange(e, 'extBubble')"
- >
-
- quotaItemChange(item, 'extBubble')"
- @onQuotaItemRemove="quotaItemRemove"
- @onNameEdit="showRename"
- @editItemFilter="showQuotaEditFilter"
- @editItemCompare="showQuotaEditCompare"
- @valueFormatter="valueFormatter"
- />
-
-
-
-
-
-
-
-
-
-
-
- {{ t('chart.drill') }} / {{ t('chart.dimension') }}
-
-
-
- {{ t('chart.drill_dimension_tip') }}
-
-
-
-
-
-
-
-
-
-
-
-
- drop($event, 'drillFields')"
- @dragenter="dragEnter"
- @dragover="$event => dragOver($event)"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ t('chart.result_filter') }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('chart.filter') }}
-
-
-
-
-
-
- {{ t('chart.aggregate_time') }}
-
-
-
@@ -2401,9 +2439,9 @@ const deleteChartFieldItem = id => {
:class="'form-item-' + themes"
>
{{ t('visualization.refresh_frequency') }}
@@ -2426,12 +2464,12 @@ const deleteChartFieldItem = id => {
>
{
{
{
:step-strictly="true"
:value-on-clear="1000"
:disabled="view.resultMode === 'all'"
- v-model="view.resultCount"
class="result-count"
size="small"
@change="recordSnapshotInfo('calcData')"
@@ -2509,37 +2547,49 @@ const deleteChartFieldItem = id => {
>
-
+
+
+
+
+
+
@@ -2552,20 +2602,32 @@ const deleteChartFieldItem = id => {
>
-
+
+
+
+
+
+
@@ -2586,15 +2648,15 @@ const deleteChartFieldItem = id => {
size="20px"
@click="collapseChange('datasetAreaCollapse')"
>
-
-
+
+
-
+
数据集
@@ -2604,21 +2666,21 @@ const deleteChartFieldItem = id => {
@@ -2651,9 +2713,9 @@ const deleteChartFieldItem = id => {
{
{
singleDragStartD($event, element, 'dimension')"
- :draggable="true"
@dragend="singleDragEnd"
- class="item father"
- v-for="element in dimensionData"
- :key="element.id"
>
{
>
@@ -2760,22 +2822,22 @@ const deleteChartFieldItem = id => {
@@ -2830,16 +2892,16 @@ const deleteChartFieldItem = id => {
singleDragStart($event, element, 'quota')"
- :draggable="true"
@dragend="singleDragEnd"
- v-for="element in quotaData"
- :key="element.id"
>
{
>
@@ -2909,22 +2971,22 @@ const deleteChartFieldItem = id => {
@@ -2973,9 +3035,9 @@ const deleteChartFieldItem = id => {
@@ -2986,8 +3048,8 @@ const deleteChartFieldItem = id => {
require-asterisk-position="right"
:model="state.itemForm"
:rules="itemFormRules"
- @submit.prevent
label-position="top"
+ @submit.prevent
>
{{ state.itemForm.name }}
@@ -2998,8 +3060,8 @@ const deleteChartFieldItem = id => {
prop="chartShowName"
>
@@ -3018,8 +3080,8 @@ const deleteChartFieldItem = id => {
{
{
{
{
{
:chart="view"
:field-type="customSortAxis"
:field="state.customSortField"
- @onSortChange="customSortChange"
+ @on-sort-change="customSortChange"
/>