playbook_ui 14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4098 → 14.5.0.pre.alpha.PLAY1486highchartscssdrivenPOC3930
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/index.js +0 -60
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +9 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +9 -1
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.scss +54 -0
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +5 -184
- data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +1 -1
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +2 -1
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +5 -216
- data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +1 -1
- data/app/pb_kits/playbook/pb_filter/Filter/ResultsCount.tsx +2 -4
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +1 -9
- data/app/pb_kits/playbook/pb_form_pill/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_form_pill/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_gantt_chart/_gantt_chart.tsx +3 -64
- data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +5 -203
- data/app/pb_kits/playbook/pb_gauge/gauge.test.js +1 -1
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +5 -154
- data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +227 -211
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +0 -4
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -39
- data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +5 -113
- data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +1 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -4
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +1 -3
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -3
- data/dist/chunks/_typeahead-BywvWGAm.js +22 -0
- data/dist/chunks/_weekday_stacked-5OGZKZeo.js +45 -0
- data/dist/chunks/lib-DMOmCoAX.js +29 -0
- data/dist/chunks/{pb_form_validation-D9zkwt2b.js → pb_form_validation-Dna2I7fw.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/pb_doc_helper.rb +5 -5
- data/lib/playbook/version.rb +1 -1
- metadata +6 -17
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +0 -19
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +0 -27
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/context/index.tsx +0 -5
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb +0 -93
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children.jsx +0 -105
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children_with_radios.jsx +0 -106
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children_with_radios.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select_options.tsx +0 -149
- data/dist/chunks/_typeahead-C9g4qCcE.js +0 -22
- data/dist/chunks/_weekday_stacked-B0Zid7Rv.js +0 -45
- data/dist/chunks/lib-CEpcaI8y.js +0 -29
@@ -47,13 +47,9 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
|
|
47
47
|
|
48
48
|
const iconClass = icon ? "_icon" : ""
|
49
49
|
const closeIconSize = size === "small" ? "xs" : "sm"
|
50
|
-
|
51
|
-
const filteredProps: FormPillProps = {...props}
|
52
|
-
delete filteredProps.truncate
|
53
|
-
|
54
50
|
const css = classnames(
|
55
51
|
`pb_form_pill_kit_${color}${iconClass}`,
|
56
|
-
globalProps(
|
52
|
+
globalProps(props),
|
57
53
|
className,
|
58
54
|
size === 'small' ? 'small' : null,
|
59
55
|
textTransform,
|
@@ -81,7 +77,6 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
|
|
81
77
|
className="pb_form_pill_text"
|
82
78
|
size={4}
|
83
79
|
text={name}
|
84
|
-
truncate={props.truncate}
|
85
80
|
/>
|
86
81
|
</>
|
87
82
|
)}
|
@@ -97,7 +92,6 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
|
|
97
92
|
className="pb_form_pill_text"
|
98
93
|
size={4}
|
99
94
|
text={name}
|
100
|
-
truncate={props.truncate}
|
101
95
|
/>
|
102
96
|
<Icon
|
103
97
|
className="pb_form_pill_icon"
|
@@ -117,7 +111,6 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
|
|
117
111
|
className="pb_form_pill_tag"
|
118
112
|
size={4}
|
119
113
|
text={text}
|
120
|
-
truncate={props.truncate}
|
121
114
|
/>
|
122
115
|
</>
|
123
116
|
)}
|
@@ -126,7 +119,6 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
|
|
126
119
|
className="pb_form_pill_tag"
|
127
120
|
size={4}
|
128
121
|
text={text}
|
129
|
-
truncate={props.truncate}
|
130
122
|
/>
|
131
123
|
)}
|
132
124
|
<div
|
@@ -3,7 +3,6 @@ examples:
|
|
3
3
|
rails:
|
4
4
|
- form_pill_user: Form Pill User
|
5
5
|
- form_pill_size: Form Pill Size
|
6
|
-
- form_pill_truncated_text: Truncated Text
|
7
6
|
- form_pill_tag: Form Pill Tag
|
8
7
|
- form_pill_example: Example
|
9
8
|
- form_pill_icon: Form Pill Icon
|
@@ -12,7 +11,6 @@ examples:
|
|
12
11
|
react:
|
13
12
|
- form_pill_user: Form Pill User
|
14
13
|
- form_pill_size: Form Pill Size
|
15
|
-
- form_pill_truncated_text: Truncated Text
|
16
14
|
- form_pill_tag: Form Pill Tag
|
17
15
|
- form_pill_example: Example
|
18
16
|
- form_pill_icon: Form Pill Icon
|
@@ -4,4 +4,3 @@ export { default as FormPillTag } from './_form_pill_tag.jsx'
|
|
4
4
|
export { default as FormPillExample } from './_form_pill_example.jsx'
|
5
5
|
export { default as FormPillIcon } from './_form_pill_icon.jsx'
|
6
6
|
export { default as FormPillColors } from './_form_pill_colors.jsx'
|
7
|
-
export { default as FormPillTruncatedText } from './_form_pill_truncated_text.jsx'
|
@@ -1,70 +1,9 @@
|
|
1
|
-
import React
|
2
|
-
import classnames from "classnames";
|
3
|
-
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from "../utilities/props";
|
4
|
-
import { globalProps } from "../utilities/globalProps";
|
5
|
-
import HighchartsReact from "highcharts-react-official";
|
6
|
-
import Highcharts from "highcharts/highcharts-gantt";
|
7
|
-
|
8
|
-
import { highchartsTheme } from "../pb_dashboard/pbChartsLightTheme";
|
9
|
-
import { highchartsDarkTheme } from "../pb_dashboard/pbChartsDarkTheme";
|
10
|
-
|
11
|
-
type GanttChartProps = {
|
12
|
-
aria?: { [key: string]: string };
|
13
|
-
className?: string;
|
14
|
-
customOptions: Partial<Highcharts.Options>;
|
15
|
-
dark?: boolean;
|
16
|
-
data?: { [key: string]: string };
|
17
|
-
htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
|
18
|
-
id?: string;
|
19
|
-
};
|
20
|
-
|
21
|
-
const GanttChart = (props: GanttChartProps) => {
|
22
|
-
const {
|
23
|
-
aria = {},
|
24
|
-
className,
|
25
|
-
customOptions = {},
|
26
|
-
dark = false,
|
27
|
-
data = {},
|
28
|
-
htmlOptions = {},
|
29
|
-
id,
|
30
|
-
} = props;
|
31
|
-
|
32
|
-
const ariaProps = buildAriaProps(aria);
|
33
|
-
const dataProps = buildDataProps(data);
|
34
|
-
const htmlProps = buildHtmlProps(htmlOptions);
|
35
|
-
const classes = classnames(
|
36
|
-
buildCss("pb_gantt_chart"),
|
37
|
-
globalProps(props),
|
38
|
-
className
|
39
|
-
);
|
40
|
-
|
41
|
-
const [options, setOptions] = useState<Highcharts.Options | undefined>(customOptions);
|
42
|
-
|
43
|
-
useEffect(() => {
|
44
|
-
setOptions(customOptions);
|
45
|
-
}, [customOptions]);
|
46
|
-
|
47
|
-
const setupTheme = () => {
|
48
|
-
dark
|
49
|
-
? Highcharts.setOptions(highchartsDarkTheme)
|
50
|
-
: Highcharts.setOptions(highchartsTheme);
|
51
|
-
};
|
52
|
-
setupTheme();
|
1
|
+
import React from 'react';
|
53
2
|
|
3
|
+
const GanttChart: React.FC = () => {
|
54
4
|
return (
|
55
5
|
<div>
|
56
|
-
|
57
|
-
constructorType={"ganttChart"}
|
58
|
-
containerProps={{
|
59
|
-
className: classnames(globalProps(props), classes),
|
60
|
-
id: id,
|
61
|
-
...ariaProps,
|
62
|
-
...dataProps,
|
63
|
-
...htmlProps,
|
64
|
-
}}
|
65
|
-
highcharts={Highcharts}
|
66
|
-
options={options}
|
67
|
-
/>
|
6
|
+
This is a simple div component.
|
68
7
|
</div>
|
69
8
|
);
|
70
9
|
};
|
@@ -1,208 +1,10 @@
|
|
1
|
-
import React
|
2
|
-
import classnames from "classnames";
|
3
|
-
import HighchartsReact from "highcharts-react-official";
|
4
|
-
import Highcharts from "highcharts";
|
5
|
-
import { highchartsTheme } from "../pb_dashboard/pbChartsLightTheme";
|
6
|
-
import { highchartsDarkTheme } from "../pb_dashboard/pbChartsDarkTheme";
|
7
|
-
import mapColors from "../pb_dashboard/pbChartsColorsHelper";
|
8
|
-
import highchartsMore from "highcharts/highcharts-more";
|
9
|
-
import solidGauge from "highcharts/modules/solid-gauge";
|
10
|
-
import defaultColors from "../tokens/exports/_colors.module.scss";
|
11
|
-
import typography from "../tokens/exports/_typography.module.scss";
|
12
|
-
|
13
|
-
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from "../utilities/props";
|
14
|
-
import { globalProps } from "../utilities/globalProps";
|
15
|
-
import { GenericObject } from "../types";
|
16
|
-
import { merge } from 'lodash'
|
17
|
-
|
18
|
-
type GaugeProps = {
|
19
|
-
aria: { [key: string]: string };
|
20
|
-
className?: string;
|
21
|
-
chartData?: { name: string; value: number[] | number }[];
|
22
|
-
customOptions?: Partial<Highcharts.Options>;
|
23
|
-
dark?: boolean;
|
24
|
-
data?: { [key: string]: string };
|
25
|
-
disableAnimation?: boolean;
|
26
|
-
fullCircle?: boolean;
|
27
|
-
height?: string;
|
28
|
-
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
29
|
-
id?: string;
|
30
|
-
max?: number;
|
31
|
-
min?: number;
|
32
|
-
prefix?: string;
|
33
|
-
showLabels?: boolean;
|
34
|
-
style?: string;
|
35
|
-
suffix?: string;
|
36
|
-
title?: string;
|
37
|
-
tooltipHtml?: string;
|
38
|
-
colors: string[];
|
39
|
-
minorTickInterval?: number;
|
40
|
-
circumference: number[];
|
41
|
-
};
|
42
|
-
|
43
|
-
const Gauge = ({
|
44
|
-
aria = {},
|
45
|
-
chartData,
|
46
|
-
customOptions = {},
|
47
|
-
dark = false,
|
48
|
-
data = {},
|
49
|
-
disableAnimation = false,
|
50
|
-
fullCircle = false,
|
51
|
-
height = null,
|
52
|
-
htmlOptions = {},
|
53
|
-
id,
|
54
|
-
max = 100,
|
55
|
-
min = 0,
|
56
|
-
prefix = "",
|
57
|
-
showLabels = false,
|
58
|
-
style = "solidgauge",
|
59
|
-
suffix = "",
|
60
|
-
title = "",
|
61
|
-
tooltipHtml = '<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: ' +
|
62
|
-
"<b>{point.y}</b>",
|
63
|
-
colors = [],
|
64
|
-
minorTickInterval = null,
|
65
|
-
circumference = fullCircle ? [0, 360] : [-100, 100],
|
66
|
-
...props
|
67
|
-
}: GaugeProps): React.ReactElement => {
|
68
|
-
const ariaProps = buildAriaProps(aria);
|
69
|
-
const dataProps = buildDataProps(data)
|
70
|
-
const htmlProps = buildHtmlProps(htmlOptions);
|
71
|
-
highchartsMore(Highcharts);
|
72
|
-
solidGauge(Highcharts);
|
73
|
-
const setupTheme = () => {
|
74
|
-
dark
|
75
|
-
? Highcharts.setOptions(highchartsDarkTheme)
|
76
|
-
: Highcharts.setOptions(highchartsTheme);
|
77
|
-
};
|
78
|
-
setupTheme();
|
79
|
-
|
80
|
-
//set tooltip directly to prevent being overriden by Highcharts defaults
|
81
|
-
Highcharts.setOptions({
|
82
|
-
tooltip: {
|
83
|
-
pointFormat: tooltipHtml,
|
84
|
-
followPointer: true,
|
85
|
-
},
|
86
|
-
});
|
87
|
-
|
88
|
-
const css = buildCss({
|
89
|
-
pb_gauge_kit: true,
|
90
|
-
});
|
91
|
-
|
92
|
-
const [options, setOptions] = useState({});
|
93
|
-
|
94
|
-
useEffect(() => {
|
95
|
-
const formattedChartData = chartData.map((obj: GenericObject) => {
|
96
|
-
obj.y = obj.value;
|
97
|
-
delete obj.value;
|
98
|
-
return obj;
|
99
|
-
});
|
100
|
-
|
101
|
-
const staticOptions = {
|
102
|
-
chart: {
|
103
|
-
events: {
|
104
|
-
load() {
|
105
|
-
setTimeout(this.reflow.bind(this), 0);
|
106
|
-
},
|
107
|
-
},
|
108
|
-
type: style,
|
109
|
-
height: height,
|
110
|
-
},
|
111
|
-
title: {
|
112
|
-
text: title,
|
113
|
-
},
|
114
|
-
yAxis: {
|
115
|
-
min: min,
|
116
|
-
max: max,
|
117
|
-
lineWidth: 0,
|
118
|
-
tickWidth: 0,
|
119
|
-
minorTickInterval: minorTickInterval,
|
120
|
-
tickAmount: 2,
|
121
|
-
tickPositions: [min, max],
|
122
|
-
labels: {
|
123
|
-
y: 26,
|
124
|
-
enabled: showLabels,
|
125
|
-
},
|
126
|
-
},
|
127
|
-
credits: false,
|
128
|
-
series: [
|
129
|
-
{
|
130
|
-
data: formattedChartData,
|
131
|
-
},
|
132
|
-
],
|
133
|
-
pane: {
|
134
|
-
center: ["50%", "50%"],
|
135
|
-
size: "90%",
|
136
|
-
startAngle: circumference[0],
|
137
|
-
endAngle: circumference[1],
|
138
|
-
background: {
|
139
|
-
borderWidth: 20,
|
140
|
-
innerRadius: "90%",
|
141
|
-
outerRadius: "90%",
|
142
|
-
shape: "arc",
|
143
|
-
className: "gauge-pane",
|
144
|
-
},
|
145
|
-
},
|
146
|
-
colors:
|
147
|
-
colors !== undefined && colors.length > 0
|
148
|
-
? mapColors(colors)
|
149
|
-
: highchartsTheme.colors,
|
150
|
-
plotOptions: {
|
151
|
-
series: {
|
152
|
-
animation: !disableAnimation,
|
153
|
-
},
|
154
|
-
solidgauge: {
|
155
|
-
borderColor:
|
156
|
-
colors !== undefined && colors.length === 1
|
157
|
-
? mapColors(colors).join()
|
158
|
-
: highchartsTheme.colors[0],
|
159
|
-
borderWidth: 20,
|
160
|
-
radius: 90,
|
161
|
-
innerRadius: "90%",
|
162
|
-
dataLabels: {
|
163
|
-
borderWidth: 0,
|
164
|
-
color: defaultColors.text_lt_default,
|
165
|
-
enabled: true,
|
166
|
-
format:
|
167
|
-
`<span class="prefix">${prefix}</span>` +
|
168
|
-
'<span class="fix">{y:,f}</span>' +
|
169
|
-
`<span class="suffix">${suffix}</span>`,
|
170
|
-
style: {
|
171
|
-
fontFamily: typography.font_family_base,
|
172
|
-
fontWeight: typography.regular,
|
173
|
-
fontSize: typography.heading_2,
|
174
|
-
},
|
175
|
-
y: -26,
|
176
|
-
},
|
177
|
-
},
|
178
|
-
},
|
179
|
-
};
|
180
|
-
|
181
|
-
setOptions(merge(staticOptions, customOptions));
|
182
|
-
|
183
|
-
if (document.querySelector(".prefix")) {
|
184
|
-
document.querySelectorAll(".prefix").forEach((prefix) => {
|
185
|
-
prefix.setAttribute("y", "28");
|
186
|
-
});
|
187
|
-
document
|
188
|
-
.querySelectorAll(".fix")
|
189
|
-
.forEach((fix) => fix.setAttribute("y", "38"));
|
190
|
-
}
|
191
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
192
|
-
}, [chartData]);
|
1
|
+
import React from 'react';
|
193
2
|
|
3
|
+
const Gauge: React.FC = () => {
|
194
4
|
return (
|
195
|
-
<
|
196
|
-
|
197
|
-
|
198
|
-
id: id,
|
199
|
-
...ariaProps,
|
200
|
-
...dataProps,
|
201
|
-
...htmlProps,
|
202
|
-
}}
|
203
|
-
highcharts={Highcharts}
|
204
|
-
options={options}
|
205
|
-
/>
|
5
|
+
<div>
|
6
|
+
This is a simple div component.
|
7
|
+
</div>
|
206
8
|
);
|
207
9
|
};
|
208
10
|
|
@@ -1,159 +1,10 @@
|
|
1
|
-
import React
|
2
|
-
import classnames from "classnames";
|
3
|
-
import { globalProps } from "../utilities/globalProps";
|
4
|
-
import { buildAriaProps, buildDataProps, buildHtmlProps } from "../utilities/props";
|
5
|
-
|
6
|
-
import HighchartsReact from "highcharts-react-official";
|
7
|
-
import Highcharts from "highcharts";
|
8
|
-
import { highchartsTheme } from "../pb_dashboard/pbChartsLightTheme";
|
9
|
-
import { highchartsDarkTheme } from "../pb_dashboard/pbChartsDarkTheme";
|
10
|
-
import mapColors from "../pb_dashboard/pbChartsColorsHelper";
|
11
|
-
import { merge } from 'lodash'
|
12
|
-
|
13
|
-
type LineGraphProps = {
|
14
|
-
align?: "left" | "right" | "center";
|
15
|
-
axisTitle?: string;
|
16
|
-
dark?: boolean;
|
17
|
-
xAxisCategories: [];
|
18
|
-
yAxisMin: number;
|
19
|
-
yAxisMax: number;
|
20
|
-
className?: string;
|
21
|
-
chartData: {
|
22
|
-
name: string;
|
23
|
-
data: number[];
|
24
|
-
}[];
|
25
|
-
customOptions?: Partial<Highcharts.Options>;
|
26
|
-
gradient?: boolean;
|
27
|
-
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
28
|
-
id: string;
|
29
|
-
pointStart: number;
|
30
|
-
subTitle?: string;
|
31
|
-
title: string;
|
32
|
-
type?: string;
|
33
|
-
legend?: boolean;
|
34
|
-
toggleLegendClick?: boolean;
|
35
|
-
height?: string;
|
36
|
-
colors: string[];
|
37
|
-
layout?: "horizontal" | "vertical" | "proximate";
|
38
|
-
verticalAlign?: "top" | "middle" | "bottom";
|
39
|
-
x?: number;
|
40
|
-
y?: number;
|
41
|
-
aria?: { [key: string]: string };
|
42
|
-
data?: { [key: string]: string };
|
43
|
-
};
|
44
|
-
|
45
|
-
const LineGraph = ({
|
46
|
-
aria = {},
|
47
|
-
data = {},
|
48
|
-
align = "center",
|
49
|
-
className = "pb_bar_graph",
|
50
|
-
customOptions = {},
|
51
|
-
dark = false,
|
52
|
-
gradient = false,
|
53
|
-
type = "line",
|
54
|
-
htmlOptions = {},
|
55
|
-
id,
|
56
|
-
legend = false,
|
57
|
-
toggleLegendClick = true,
|
58
|
-
layout = "horizontal",
|
59
|
-
verticalAlign = "bottom",
|
60
|
-
x = 0,
|
61
|
-
y = 0,
|
62
|
-
axisTitle,
|
63
|
-
xAxisCategories,
|
64
|
-
yAxisMin,
|
65
|
-
yAxisMax,
|
66
|
-
chartData,
|
67
|
-
pointStart,
|
68
|
-
subTitle,
|
69
|
-
title,
|
70
|
-
height,
|
71
|
-
colors = [],
|
72
|
-
...props
|
73
|
-
}: LineGraphProps) => {
|
74
|
-
|
75
|
-
const ariaProps = buildAriaProps(aria)
|
76
|
-
const dataProps = buildDataProps(data)
|
77
|
-
const htmlProps = buildHtmlProps(htmlOptions)
|
78
|
-
|
79
|
-
const setupTheme = () => {
|
80
|
-
dark
|
81
|
-
? Highcharts.setOptions(highchartsDarkTheme)
|
82
|
-
: Highcharts.setOptions(highchartsTheme);
|
83
|
-
};
|
84
|
-
setupTheme();
|
85
|
-
|
86
|
-
const staticOptions = {
|
87
|
-
title: {
|
88
|
-
text: title,
|
89
|
-
},
|
90
|
-
chart: {
|
91
|
-
height: height,
|
92
|
-
type: type,
|
93
|
-
},
|
94
|
-
subtitle: {
|
95
|
-
text: subTitle,
|
96
|
-
},
|
97
|
-
yAxis: {
|
98
|
-
min: yAxisMin,
|
99
|
-
max: yAxisMax,
|
100
|
-
title: {
|
101
|
-
text: axisTitle,
|
102
|
-
},
|
103
|
-
},
|
104
|
-
xAxis: {
|
105
|
-
categories: xAxisCategories,
|
106
|
-
},
|
107
|
-
legend: {
|
108
|
-
enabled: legend,
|
109
|
-
align: align,
|
110
|
-
verticalAlign: verticalAlign,
|
111
|
-
layout: layout,
|
112
|
-
x: x,
|
113
|
-
y: y,
|
114
|
-
},
|
115
|
-
colors:
|
116
|
-
colors !== undefined && colors.length > 0
|
117
|
-
? mapColors(colors)
|
118
|
-
: highchartsTheme.colors,
|
119
|
-
plotOptions: {
|
120
|
-
series: {
|
121
|
-
pointStart: pointStart,
|
122
|
-
events: {},
|
123
|
-
dataLabels: {
|
124
|
-
enabled: false,
|
125
|
-
},
|
126
|
-
},
|
127
|
-
},
|
128
|
-
series: chartData,
|
129
|
-
credits: false,
|
130
|
-
};
|
131
|
-
|
132
|
-
if (!toggleLegendClick) {
|
133
|
-
staticOptions.plotOptions.series.events = { legendItemClick: () => false };
|
134
|
-
}
|
135
|
-
|
136
|
-
const filteredProps: any = {...props};
|
137
|
-
delete filteredProps.verticalAlign;
|
138
|
-
|
139
|
-
const [options, setOptions] = useState({});
|
140
|
-
|
141
|
-
useEffect(() => {
|
142
|
-
setOptions(merge(staticOptions, customOptions));
|
143
|
-
}, [chartData]);
|
1
|
+
import React from 'react';
|
144
2
|
|
3
|
+
const LineGraph: React.FC = () => {
|
145
4
|
return (
|
146
|
-
<
|
147
|
-
|
148
|
-
|
149
|
-
id: id,
|
150
|
-
...ariaProps,
|
151
|
-
...dataProps,
|
152
|
-
...htmlProps
|
153
|
-
}}
|
154
|
-
highcharts={Highcharts}
|
155
|
-
options={options}
|
156
|
-
/>
|
5
|
+
<div>
|
6
|
+
This is a simple div component.
|
7
|
+
</div>
|
157
8
|
);
|
158
9
|
};
|
159
10
|
|