Skip to content

Commit 0b84762

Browse files
committed
Added funnel Align in Funnel Chart.
1 parent 0bd9122 commit 0b84762

File tree

5 files changed

+53
-0
lines changed

5 files changed

+53
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import {
2+
AlignClose,
3+
AlignRight,
4+
AlignLeft,
5+
dropdownControl,
6+
MultiCompBuilder,
7+
} from "lowcoder-sdk";
8+
import {FunnelSeriesOption, LegendComponentOption} from "echarts";
9+
import { trans } from "i18n/comps";
10+
11+
const FunnelAlignOptions = [
12+
{
13+
label: <AlignClose />,
14+
value: "center",
15+
},
16+
{
17+
label: <AlignRight />,
18+
value: "right",
19+
},
20+
{
21+
label: <AlignLeft />,
22+
value: "left",
23+
},
24+
] as const;
25+
26+
export const EchartsFunnelAlignConfig = (function () {
27+
return new MultiCompBuilder(
28+
{
29+
position: dropdownControl(FunnelAlignOptions, "center"),
30+
},
31+
(props): FunnelSeriesOption => {
32+
const config: FunnelSeriesOption = {
33+
top: "center",
34+
};
35+
config.top = props.position
36+
return config;
37+
}
38+
)
39+
.setPropertyViewFn((children) => (
40+
<>
41+
{children.position.propertyView({
42+
label: trans("echarts.funnelAlign"),
43+
radioButton: true,
44+
})}
45+
</>
46+
))
47+
.build();
48+
})();

client/packages/lowcoder-comps/src/comps/funnelChartComp/funnelChartConstants.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { XAxisConfig, YAxisConfig } from "../chartComp/chartConfigs/cartesianAxi
2424
import { LegendConfig } from "../chartComp/chartConfigs/legendConfig";
2525
import { EchartsLegendConfig } from "../chartComp/chartConfigs/echartsLegendConfig";
2626
import { EchartsLabelConfig } from "../chartComp/chartConfigs/echartsLabelConfig";
27+
import { EchartsFunnelAlignConfig } from "../chartComp/chartConfigs/echartsFunnelAlignConfig";
2728
import { LineChartConfig } from "../chartComp/chartConfigs/lineChartConfig";
2829
import { PieChartConfig } from "../chartComp/chartConfigs/pieChartConfig";
2930
import { ScatterChartConfig } from "../chartComp/chartConfigs/scatterChartConfig";
@@ -253,6 +254,7 @@ let chartJsonModeChildren: any = {
253254
echartsTitle: withDefault(StringControl, trans("funnelChart.defaultTitle")),
254255
echartsLegendConfig: EchartsLegendConfig,
255256
echartsLabelConfig: EchartsLabelConfig,
257+
echartsFunnelAlignConfig: EchartsFunnelAlignConfig,
256258
echartsConfig: EchartsOptionComp,
257259
echartsTitleConfig:EchartsTitleConfig,
258260
// style: styleControl(EchartsStyle, 'style'),

client/packages/lowcoder-comps/src/comps/funnelChartComp/funnelChartPropertyView.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export function funnelChartPropertyView(
3333
})}
3434
{children.legendVisibility.getView()&& children.echartsLegendConfig.getPropertyView()}
3535
{children.label.getView()&& children.echartsLabelConfig.getPropertyView()}
36+
{children.echartsFunnelAlignConfig.getPropertyView()}
3637
{children.echartsTitleConfig.getPropertyView()}
3738
{children.left.propertyView({ label: trans("funnelChart.left") })}
3839
{children.top.propertyView({ label: trans("funnelChart.top") })}

client/packages/lowcoder-comps/src/comps/funnelChartComp/funnelChartUtils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ export function getEchartsConfig(
161161
"min": props.min,
162162
"max": props.max,
163163
"gap": props.gap,
164+
"funnelAlign": props.echartsFunnelAlignConfig.top,
164165
"itemStyle": {
165166
"opacity": props.opacity
166167
},

client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ export const en = {
110110
legendPosition: "Legend Position",
111111
labelPosition: "Label Position",
112112
titlePosition: "Title Position",
113+
funnelAlign: "Funnel Align"
113114
},
114115
chart: {
115116
delete: "Delete",

0 commit comments

Comments
 (0)