Merge pull request #11088 from dataease/pr@dev-v2@chart-map-add-other-quota
feat(图表): 地图、气泡地图的提示支持显示其他指标字段
This commit is contained in:
commit
dbd0bf0bc4
@ -0,0 +1,20 @@
|
||||
package io.dataease.chart.charts.impl.map;
|
||||
|
||||
import io.dataease.chart.charts.impl.ExtQuotaChartHandler;
|
||||
import io.dataease.extensions.view.dto.AxisFormatResult;
|
||||
import io.dataease.extensions.view.dto.ChartViewDTO;
|
||||
import lombok.Getter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class BubbleMapHandler extends ExtQuotaChartHandler {
|
||||
@Getter
|
||||
private String type = "bubble-map";
|
||||
|
||||
@Override
|
||||
public AxisFormatResult formatAxis(ChartViewDTO view) {
|
||||
return super.formatAxis(view);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ export const MAP_EDITOR_PROPERTY_INNER: EditorPropertyInner = {
|
||||
'showDimension',
|
||||
'showQuota'
|
||||
],
|
||||
'tooltip-selector': ['color', 'fontSize', 'backgroundColor', 'tooltipFormatter', 'show'],
|
||||
'tooltip-selector': ['color', 'fontSize', 'backgroundColor', 'seriesTooltipFormatter', 'show'],
|
||||
'function-cfg': ['emptyDataStrategy'],
|
||||
'map-mapping': ['']
|
||||
}
|
||||
|
||||
@ -856,20 +856,39 @@ export function configL7Style(chart: Chart): AreaOptions['style'] {
|
||||
export function configL7Tooltip(chart: Chart): TooltipOptions {
|
||||
const customAttr = parseJson(chart.customAttr)
|
||||
const tooltip = customAttr.tooltip
|
||||
const { yAxis } = chart
|
||||
const formatterMap = tooltip.seriesTooltipFormatter
|
||||
?.filter(i => i.show)
|
||||
.reduce((pre, next) => {
|
||||
pre[next.id] = next
|
||||
return pre
|
||||
}, {}) as Record<string, SeriesFormatter>
|
||||
return {
|
||||
customTitle(data) {
|
||||
return data.name
|
||||
},
|
||||
items: [
|
||||
{
|
||||
field: 'value',
|
||||
alias: yAxis?.[0]?.chartShowName ?? yAxis?.[0]?.name,
|
||||
customValue: value => {
|
||||
return valueFormatter(value, tooltip.tooltipFormatter)
|
||||
}
|
||||
customItems(originalItem) {
|
||||
const result = []
|
||||
if (isEmpty(formatterMap)) {
|
||||
return result
|
||||
}
|
||||
],
|
||||
const head = originalItem.properties
|
||||
const formatter = formatterMap[head.quotaList?.[0]?.id]
|
||||
if (!isEmpty(formatter)) {
|
||||
const originValue = parseFloat(head.value as string)
|
||||
const value = valueFormatter(originValue, formatter.formatterCfg)
|
||||
const name = isEmpty(formatter.chartShowName) ? formatter.name : formatter.chartShowName
|
||||
result.push({ ...head, name, value: `${value ?? ''}` })
|
||||
}
|
||||
head.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: `${value ?? ''}` })
|
||||
}
|
||||
})
|
||||
return result
|
||||
},
|
||||
showComponent: tooltip.show,
|
||||
domStyles: {
|
||||
'l7plot-tooltip': {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user