Skip to content

Commit cc2edb5

Browse files
committed
refactor:chartClickFilter
1 parent 9598d8e commit cc2edb5

File tree

2 files changed

+28
-16
lines changed

2 files changed

+28
-16
lines changed

frontend/src/app/pages/DashBoardPage/actions/widgetAction.ts

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,16 @@ export const widgetClickJumpAction =
128128
params.componentType === 'table' &&
129129
jumpFieldName !== params.seriesName
130130
) {
131-
console.log('__ jumpFieldName !== params.seriesName');
132131
return;
133132
}
134133
const rowDataValue = getValueByRowData(params.data, jumpFieldName);
135-
// jump url
134+
135+
if (!rowDataValue) {
136+
console.warn('rowDataValue for jumpValue:', rowDataValue);
137+
return;
138+
}
136139
if (targetType === 'URL') {
140+
// jump url
137141
let jumpUrl;
138142
if (URL.indexOf('?') > -1) {
139143
jumpUrl = `${URL}&${queryName}=${rowDataValue}`;
@@ -186,18 +190,26 @@ export const widgetClickLinkageAction =
186190
return true;
187191
});
188192

189-
const boardFilters = linkRelations.map(re => {
190-
let linkageFieldName: string =
191-
re?.config?.widgetToWidget?.triggerColumn || '';
192-
193-
const filter: BoardLinkFilter = {
194-
triggerWidgetId: widget.id,
195-
triggerValue: getValueByRowData(params.data, linkageFieldName),
196-
triggerDataChartId: widget.datachartId,
197-
linkerWidgetId: re.targetId,
198-
};
199-
return filter;
200-
});
193+
const boardFilters = linkRelations
194+
.map(re => {
195+
let linkageFieldName: string =
196+
re?.config?.widgetToWidget?.triggerColumn || '';
197+
const linkValue = getValueByRowData(params.data, linkageFieldName);
198+
if (!linkValue) {
199+
console.warn('linkageFieldName:', linkageFieldName);
200+
console.warn('rowData', params.data?.rowData);
201+
console.warn(`rowData[${linkageFieldName}]:${linkValue} `);
202+
return undefined;
203+
}
204+
const filter: BoardLinkFilter = {
205+
triggerWidgetId: widget.id,
206+
triggerValue: linkValue,
207+
triggerDataChartId: widget.datachartId,
208+
linkerWidgetId: re.targetId,
209+
};
210+
return filter;
211+
})
212+
.filter(item => !!item) as BoardLinkFilter[];
201213

202214
if (editing) {
203215
dispatch(

frontend/src/app/pages/DashBoardPage/pages/BoardEditor/components/SettingJumpModal/FieldsSelect.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ import React, { memo, useCallback, useMemo } from 'react';
2222
import { G50 } from 'styles/StyleConstants';
2323
const { Option } = Select;
2424

25-
export interface JumpeFieldsProps<T = JumpConfigField> {
25+
export interface JumpFieldsProps<T = JumpConfigField> {
2626
chartGroupColumns?: ChartDataSectionField[];
2727
onChange?: (value?: T) => void;
2828
value?: T;
2929
form?: FormInstance;
3030
}
31-
export const SelectJumpFields: React.FC<JumpeFieldsProps> = memo(
31+
export const SelectJumpFields: React.FC<JumpFieldsProps> = memo(
3232
({ chartGroupColumns, onChange, value, form }) => {
3333
const _value = useMemo(() => {
3434
return value?.jumpFieldName;

0 commit comments

Comments
 (0)