playbook_ui_docs 14.22.0.pre.alpha.customheaderat8564 → 14.22.0.pre.alpha.play2261highchartsbargraphimportedstyles8730
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/docs/_advanced_table_custom_sort.jsx +65 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +5 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +33 -15
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +33 -15
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +52 -22
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +3 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +12 -16
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +31 -15
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +39 -16
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +86 -38
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +33 -15
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +72 -22
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +32 -15
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +37 -16
- data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +1 -3
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -3
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.jsx +8 -8
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_react.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.jsx +12 -12
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_react.md +3 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.jsx +12 -12
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_react.md +3 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.html.erb +18 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_rails.md +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
- data/dist/playbook-doc.js +2 -2
- metadata +8 -7
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +0 -72
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +0 -6
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +0 -64
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +0 -1
- /data/app/pb_kits/playbook/pb_typeahead/docs/{_typeahead_preserve_input.md → _typeahead_preserve_input_react.md} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3491e5ef8982f4fbe511b56403c66744cbf949884c9e89857005622dcd2e8d69
|
4
|
+
data.tar.gz: a8448d740f0b1997124182820bde98f02454b6826b33d45230b6c324c1346edd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19f24771920158c8f101854f6f9e454c3314c3ce818715f8e44fa600e300c5de8ee10b552881e911c46f3144742e495c800e360f418bb379b37d1876f93e1efa
|
7
|
+
data.tar.gz: b497ce73018b9b8d48a1dfe256e7fd49c9b64b35b282bf1e41900320b459f2bc779a32db0fa542f56ca78c030e1c7cf21c78b3e36336cc25a483bec64dba0b91
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import React from "react"
|
2
|
+
import AdvancedTable from '../../pb_advanced_table/_advanced_table'
|
3
|
+
import MOCK_DATA from "./advanced_table_mock_data.json"
|
4
|
+
|
5
|
+
const AdvancedTableCustomSort = (props) => {
|
6
|
+
const columnDefinitions = [
|
7
|
+
{
|
8
|
+
accessor: "year",
|
9
|
+
label: "Year",
|
10
|
+
id: "year",
|
11
|
+
cellAccessors: ["quarter", "month", "day"],
|
12
|
+
},
|
13
|
+
{
|
14
|
+
accessor: "newEnrollments",
|
15
|
+
id: "newEnrollments",
|
16
|
+
label: "New Enrollments",
|
17
|
+
},
|
18
|
+
{
|
19
|
+
accessor: "scheduledMeetings",
|
20
|
+
id: "scheduledMeetings",
|
21
|
+
label: "Scheduled Meetings",
|
22
|
+
},
|
23
|
+
{
|
24
|
+
accessor: "attendanceRate",
|
25
|
+
id: "attendanceRate",
|
26
|
+
label: "Attendance Rate",
|
27
|
+
},
|
28
|
+
{
|
29
|
+
accessor: "completedClasses",
|
30
|
+
id: "completedClasses",
|
31
|
+
label: "Completed Classes",
|
32
|
+
},
|
33
|
+
{
|
34
|
+
accessor: "classCompletionRate",
|
35
|
+
id: "classCompletionRate",
|
36
|
+
label: "Class Completion Rate",
|
37
|
+
},
|
38
|
+
{
|
39
|
+
accessor: "graduatedStudents",
|
40
|
+
id: "graduatedStudents",
|
41
|
+
label: "Graduated Students",
|
42
|
+
},
|
43
|
+
]
|
44
|
+
|
45
|
+
//Render the subRow header rows
|
46
|
+
const subRowHeaders = ["Quarter", "Month", "Day"]
|
47
|
+
|
48
|
+
return (
|
49
|
+
<div>
|
50
|
+
<AdvancedTable
|
51
|
+
columnDefinitions={columnDefinitions}
|
52
|
+
customSort
|
53
|
+
enableToggleExpansion="all"
|
54
|
+
onCustomSortClick={(subrows)=>{console.log("Custom sort clicked", subrows)}}
|
55
|
+
tableData={MOCK_DATA}
|
56
|
+
{...props}
|
57
|
+
>
|
58
|
+
<AdvancedTable.Header enableSorting />
|
59
|
+
<AdvancedTable.Body subRowHeaders={subRowHeaders} />
|
60
|
+
</AdvancedTable>
|
61
|
+
</div>
|
62
|
+
)
|
63
|
+
}
|
64
|
+
|
65
|
+
export default AdvancedTableCustomSort
|
@@ -0,0 +1,5 @@
|
|
1
|
+
The optional `customSort` prop can be used to add a sort button within a subrow header. The button will only appear if that subrowheader has more than one subrow nested within it. This button comes with a callback function called `onCustomSortClick`.
|
2
|
+
|
3
|
+
The `onCustomSortClick` provides as an argument an array of all the subrows nested within that level of the table.
|
4
|
+
|
5
|
+
__NOTE__: `customSort` must be used in conjunction with the `subRowHeaders` prop. The `customSort` DOES NOT handle the sort logic, this must be handled on the frontend using the callback provided.
|
@@ -19,14 +19,15 @@ examples:
|
|
19
19
|
- advanced_table_selectable_rows_actions_rails: Selectable Rows (With Actions)
|
20
20
|
- advanced_table_selectable_rows_header_rails: Selectable Rows (No Actions Bar)
|
21
21
|
- advanced_table_scrollbar_none: Advanced Table Scrollbar None
|
22
|
-
|
23
|
-
|
22
|
+
- advanced_table_column_styling_rails: Column Styling
|
23
|
+
- advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
|
24
24
|
|
25
25
|
react:
|
26
26
|
- advanced_table_default: Default (Required Props)
|
27
27
|
- advanced_table_loading: Loading State
|
28
28
|
- advanced_table_sort: Enable Sorting
|
29
29
|
- advanced_table_sort_control: Sort Control
|
30
|
+
- advanced_table_custom_sort: Custom Sort
|
30
31
|
- advanced_table_expanded_control: Expanded Control
|
31
32
|
- advanced_table_expand_by_depth: Expand by Depth
|
32
33
|
- advanced_table_subrow_headers: SubRow Headers
|
@@ -38,4 +38,5 @@ export { default as AdvancedTableRowStyling } from './_advanced_table_row_stylin
|
|
38
38
|
export { default as AdvancedTableColumnStyling } from './_advanced_table_column_styling.jsx'
|
39
39
|
export { default as AdvancedTableColumnStylingColumnHeaders } from './_advanced_table_column_styling_column_headers.jsx'
|
40
40
|
export { default as AdvancedTableInfiniteScroll} from './_advanced_table_infinite_scroll.jsx'
|
41
|
-
export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
|
41
|
+
export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
|
42
|
+
export { default as AdvancedTableCustomSort } from './_advanced_table_custom_sort.jsx'
|
@@ -1,6 +1,10 @@
|
|
1
1
|
import React from 'react'
|
2
|
+
import colors from '../../tokens/exports/_colors.module.scss'
|
3
|
+
import Highcharts from "highcharts";
|
4
|
+
import HighchartsReact from "highcharts-react-official";
|
5
|
+
|
6
|
+
import barGraphTheme from '../barGraphTheme';
|
2
7
|
|
3
|
-
import BarGraph from '../_bar_graph'
|
4
8
|
|
5
9
|
const chartData = [{
|
6
10
|
name: 'Installation',
|
@@ -19,19 +23,33 @@ const chartData = [{
|
|
19
23
|
data: [1111, 677, 3245, 500, 200],
|
20
24
|
}]
|
21
25
|
|
22
|
-
const
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
26
|
+
const chartOptions = {
|
27
|
+
series: chartData,
|
28
|
+
title: {
|
29
|
+
text: "Bar Graph with Custom Data Colors",
|
30
|
+
},
|
31
|
+
xAxis: {
|
32
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
33
|
+
},
|
34
|
+
yAxis: {
|
35
|
+
title: {
|
36
|
+
text: "Number of Employees",
|
37
|
+
},
|
38
|
+
},
|
39
|
+
colors: [colors.data_4, colors.data_5, colors.data_6, colors.data_7, colors.data_8],
|
40
|
+
}
|
41
|
+
|
42
|
+
const BarGraphColors = () => {
|
43
|
+
const options = Highcharts.merge({}, barGraphTheme, chartOptions)
|
44
|
+
|
45
|
+
return (
|
46
|
+
<div>
|
47
|
+
<HighchartsReact
|
48
|
+
highcharts={Highcharts}
|
49
|
+
options={options}
|
50
|
+
/>
|
51
|
+
</div>
|
52
|
+
)
|
53
|
+
}
|
36
54
|
|
37
55
|
export default BarGraphColors
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import React from 'react'
|
2
|
+
import Highcharts from "highcharts";
|
3
|
+
import HighchartsReact from "highcharts-react-official";
|
2
4
|
|
3
|
-
import
|
5
|
+
import barGraphTheme from '../barGraphTheme';
|
4
6
|
|
5
7
|
const chartData = [{
|
6
8
|
name: 'Installation',
|
@@ -19,19 +21,35 @@ const chartData = [{
|
|
19
21
|
data: [1111, 677, 3245, 500, 200],
|
20
22
|
}]
|
21
23
|
|
22
|
-
const
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
24
|
+
const chartOptions = {
|
25
|
+
series: chartData,
|
26
|
+
title: {
|
27
|
+
text: 'Solar Employment Growth by Sector, 2010-2016',
|
28
|
+
},
|
29
|
+
subtitle: {
|
30
|
+
text: 'Source: thesolarfoundation.com',
|
31
|
+
},
|
32
|
+
xAxis: {
|
33
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
34
|
+
},
|
35
|
+
yAxis: {
|
36
|
+
title: {
|
37
|
+
text: 'Number of Employees',
|
38
|
+
},
|
39
|
+
},
|
40
|
+
}
|
41
|
+
|
42
|
+
const BarGraphDefault = () => {
|
43
|
+
const options = Highcharts.merge({}, barGraphTheme, chartOptions)
|
44
|
+
|
45
|
+
return (
|
46
|
+
<div>
|
47
|
+
<HighchartsReact
|
48
|
+
highcharts={Highcharts}
|
49
|
+
options={options}
|
50
|
+
/>
|
51
|
+
</div>
|
52
|
+
)
|
53
|
+
}
|
36
54
|
|
37
55
|
export default BarGraphDefault
|
@@ -1,39 +1,69 @@
|
|
1
1
|
import React from 'react'
|
2
|
+
import Highcharts from "highcharts";
|
3
|
+
import HighchartsReact from "highcharts-react-official";
|
2
4
|
|
3
|
-
import
|
5
|
+
import barGraphTheme from '../barGraphTheme';
|
4
6
|
|
5
7
|
const chartData = [{
|
6
8
|
name: 'Number of Installations',
|
7
9
|
data: [1475, 200, 3000, 654, 656],
|
8
10
|
}]
|
9
11
|
|
10
|
-
const
|
12
|
+
const pixelHeightChartOptions = {
|
13
|
+
chart: {
|
14
|
+
height: "300"
|
15
|
+
},
|
16
|
+
series: chartData,
|
17
|
+
title: {
|
18
|
+
text: "Fixed Height (300px)",
|
19
|
+
},
|
20
|
+
xAxis: {
|
21
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
22
|
+
},
|
23
|
+
yAxis: {
|
24
|
+
title: {
|
25
|
+
text: "Number of Employees",
|
26
|
+
},
|
27
|
+
},
|
28
|
+
};
|
29
|
+
|
30
|
+
const percentageHeightChartOptions = {
|
31
|
+
chart: {
|
32
|
+
height: "50%"
|
33
|
+
},
|
34
|
+
series: chartData,
|
35
|
+
title: {
|
36
|
+
text: "Percentage Height (50%)",
|
37
|
+
},
|
38
|
+
xAxis: {
|
39
|
+
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
40
|
+
},
|
41
|
+
yAxis: {
|
42
|
+
title: {
|
43
|
+
text: "Number of Employees",
|
44
|
+
},
|
45
|
+
},
|
46
|
+
};
|
47
|
+
|
48
|
+
const pixelOptions = Highcharts.merge({}, barGraphTheme, pixelHeightChartOptions)
|
49
|
+
|
50
|
+
const percentageOptions = Highcharts.merge({}, barGraphTheme, percentageHeightChartOptions)
|
51
|
+
|
52
|
+
const BarGraphHeight = () => (
|
11
53
|
<div>
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
id="bar-fixed-height"
|
17
|
-
title="Fixed Height (300px)"
|
18
|
-
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']}
|
19
|
-
yAxisMin={0}
|
20
|
-
{...props}
|
21
|
-
/>
|
54
|
+
<HighchartsReact
|
55
|
+
highcharts={Highcharts}
|
56
|
+
options={pixelOptions}
|
57
|
+
/>
|
22
58
|
|
23
59
|
<br />
|
24
60
|
<br />
|
25
61
|
|
26
|
-
<
|
27
|
-
|
28
|
-
|
29
|
-
height="50%"
|
30
|
-
id="bar-percentage-height"
|
31
|
-
title="Percentage Height (50%)"
|
32
|
-
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']}
|
33
|
-
yAxisMin={0}
|
34
|
-
{...props}
|
62
|
+
<HighchartsReact
|
63
|
+
highcharts={Highcharts}
|
64
|
+
options={percentageOptions}
|
35
65
|
/>
|
36
66
|
</div>
|
37
67
|
)
|
38
68
|
|
39
|
-
export default
|
69
|
+
export default BarGraphHeight
|
@@ -0,0 +1,3 @@
|
|
1
|
+
By default, Highcharts have a height of 400px, but this can be customized. You can override the default by specifying either a percentage or a fixed pixel value.
|
2
|
+
|
3
|
+
Using a percentage maintains a consistent aspect ratio across different responsive sizes. For example, setting the height to 50% makes the chart’s height half of its width.
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import React from 'react'
|
2
|
+
import Highcharts from "highcharts";
|
3
|
+
import HighchartsReact from "highcharts-react-official";
|
2
4
|
|
3
|
-
import
|
5
|
+
import barGraphTheme from '../barGraphTheme';
|
4
6
|
|
5
|
-
|
6
|
-
const barGraphOptions = {
|
7
|
+
const chartOptions = {
|
7
8
|
chart: {
|
8
9
|
type: 'bar'
|
9
10
|
},
|
@@ -22,13 +23,8 @@ const barGraphOptions = {
|
|
22
23
|
lineWidth: 0
|
23
24
|
},
|
24
25
|
yAxis: {
|
25
|
-
min: 0,
|
26
26
|
title: {
|
27
|
-
text: '
|
28
|
-
align: 'high'
|
29
|
-
},
|
30
|
-
labels: {
|
31
|
-
overflow: 'justify'
|
27
|
+
text: '',
|
32
28
|
},
|
33
29
|
},
|
34
30
|
tooltip: {
|
@@ -51,16 +47,16 @@ const barGraphOptions = {
|
|
51
47
|
}, {
|
52
48
|
name: 'Year 2018',
|
53
49
|
data: [1276, 1007, 4561, 746]
|
54
|
-
}]
|
50
|
+
}],
|
55
51
|
}
|
56
52
|
|
57
|
-
const
|
53
|
+
const options = Highcharts.merge({}, barGraphTheme, chartOptions)
|
54
|
+
|
55
|
+
const BarGraphHorizontal = () => (
|
58
56
|
<div>
|
59
|
-
<
|
60
|
-
|
61
|
-
|
62
|
-
yAxisMin={0}
|
63
|
-
{...props}
|
57
|
+
<HighchartsReact
|
58
|
+
highcharts={Highcharts}
|
59
|
+
options={options}
|
64
60
|
/>
|
65
61
|
</div>
|
66
62
|
)
|
@@ -1,24 +1,40 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
2
|
+
import Highcharts from "highcharts";
|
3
|
+
import HighchartsReact from "highcharts-react-official";
|
4
|
+
|
5
|
+
import barGraphTheme from '../barGraphTheme';
|
3
6
|
|
4
7
|
const chartData = [{
|
5
8
|
name: 'Number of Installations',
|
6
9
|
data: [1475, 200, 3000, 654, 656],
|
7
10
|
}]
|
8
11
|
|
9
|
-
const
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
const chartOptions = {
|
13
|
+
series: chartData,
|
14
|
+
title: {
|
15
|
+
text: 'Bar Graph with Legend',
|
16
|
+
},
|
17
|
+
xAxis: {
|
18
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
19
|
+
},
|
20
|
+
yAxis: {
|
21
|
+
title: {
|
22
|
+
text: 'Number of Employees',
|
23
|
+
},
|
24
|
+
},
|
25
|
+
legend: { enabled: true },
|
26
|
+
}
|
23
27
|
|
28
|
+
const BarGraphLegend = () => {
|
29
|
+
const options = Highcharts.merge({}, barGraphTheme, chartOptions)
|
30
|
+
|
31
|
+
return (
|
32
|
+
<div>
|
33
|
+
<HighchartsReact
|
34
|
+
highcharts={Highcharts}
|
35
|
+
options={options}
|
36
|
+
/>
|
37
|
+
</div>
|
38
|
+
)
|
39
|
+
}
|
24
40
|
export default BarGraphLegend
|
@@ -1,25 +1,48 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
2
|
+
import Highcharts from "highcharts";
|
3
|
+
import HighchartsReact from "highcharts-react-official";
|
4
|
+
|
5
|
+
import barGraphTheme from '../barGraphTheme';
|
3
6
|
|
4
7
|
const chartData = [{
|
5
8
|
name: 'Number of Installations',
|
6
9
|
data: [1475, 200, 3000, 654, 656],
|
7
10
|
}]
|
8
11
|
|
9
|
-
const
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
12
|
+
const chartOptions = {
|
13
|
+
title: {
|
14
|
+
text: 'Bar Graph with Legend Non Clickable',
|
15
|
+
},
|
16
|
+
xAxis: {
|
17
|
+
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
|
18
|
+
},
|
19
|
+
yAxis: {
|
20
|
+
title: {
|
21
|
+
text: 'Number of Employees',
|
22
|
+
},
|
23
|
+
},
|
24
|
+
legend: {
|
25
|
+
enabled: true,
|
26
|
+
events: {
|
27
|
+
itemClick: function () {
|
28
|
+
return false;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
},
|
32
|
+
series: chartData
|
33
|
+
}
|
34
|
+
|
35
|
+
const BarGraphLegendNonClickable = () => {
|
36
|
+
const options = Highcharts.merge({}, barGraphTheme, chartOptions)
|
37
|
+
|
38
|
+
return (
|
39
|
+
<div>
|
40
|
+
<HighchartsReact
|
41
|
+
highcharts={Highcharts}
|
42
|
+
options={options}
|
43
|
+
/>
|
44
|
+
</div>
|
45
|
+
)
|
46
|
+
}
|
24
47
|
|
25
48
|
export default BarGraphLegendNonClickable
|
@@ -1,8 +1,11 @@
|
|
1
1
|
import React from 'react'
|
2
|
+
import Highcharts from "highcharts";
|
3
|
+
import HighchartsReact from "highcharts-react-official";
|
2
4
|
|
3
|
-
import BarGraph from "../../pb_bar_graph/_bar_graph"
|
4
5
|
import Title from "../../pb_title/_title"
|
5
6
|
|
7
|
+
import barGraphTheme from '../barGraphTheme';
|
8
|
+
|
6
9
|
const chartData = [{
|
7
10
|
name: 'Installation',
|
8
11
|
data: [1475],
|
@@ -20,7 +23,76 @@ const chartData = [{
|
|
20
23
|
data: [1111],
|
21
24
|
}]
|
22
25
|
|
23
|
-
const
|
26
|
+
const alignChartOptions = {
|
27
|
+
series: chartData,
|
28
|
+
title: {
|
29
|
+
text: 'Alignment of Legend',
|
30
|
+
},
|
31
|
+
subtitle: {
|
32
|
+
text: 'Source: thesolarfoundation.com',
|
33
|
+
},
|
34
|
+
xAxis: {
|
35
|
+
categories: ['Jan'],
|
36
|
+
},
|
37
|
+
yAxis: {
|
38
|
+
title: {
|
39
|
+
text: 'Number of Employees',
|
40
|
+
},
|
41
|
+
},
|
42
|
+
legend: {
|
43
|
+
enabled: true,
|
44
|
+
verticalAlign: 'top',
|
45
|
+
align: 'right',
|
46
|
+
},
|
47
|
+
}
|
48
|
+
|
49
|
+
const layoutChartOptions = {
|
50
|
+
series: chartData,
|
51
|
+
title: {
|
52
|
+
text: 'Layout of Legend',
|
53
|
+
},
|
54
|
+
xAxis: {
|
55
|
+
categories: ['Jan'],
|
56
|
+
},
|
57
|
+
yAxis: {
|
58
|
+
title: {
|
59
|
+
text: 'Number of Employees',
|
60
|
+
},
|
61
|
+
},
|
62
|
+
legend: {
|
63
|
+
enabled: true,
|
64
|
+
layout: 'vertical',
|
65
|
+
},
|
66
|
+
}
|
67
|
+
|
68
|
+
const offsetChartOptions = {
|
69
|
+
series: chartData,
|
70
|
+
title: {
|
71
|
+
text: 'Offset of Legend',
|
72
|
+
},
|
73
|
+
xAxis: {
|
74
|
+
categories: ['Jan'],
|
75
|
+
},
|
76
|
+
yAxis: {
|
77
|
+
title: {
|
78
|
+
text: 'Number of Employees',
|
79
|
+
},
|
80
|
+
},
|
81
|
+
legend: {
|
82
|
+
enabled: true,
|
83
|
+
layout: 'vertical',
|
84
|
+
x: 100,
|
85
|
+
y: 10,
|
86
|
+
},
|
87
|
+
}
|
88
|
+
|
89
|
+
const BarGraphLegendPosition = () => {
|
90
|
+
const alignOptions = Highcharts.merge({}, barGraphTheme, alignChartOptions)
|
91
|
+
const layoutOptions = Highcharts.merge({}, barGraphTheme, layoutChartOptions)
|
92
|
+
const offsetOptions = Highcharts.merge({}, barGraphTheme, offsetChartOptions)
|
93
|
+
|
94
|
+
|
95
|
+
return (
|
24
96
|
<div>
|
25
97
|
<Title
|
26
98
|
paddingBottom="sm"
|
@@ -29,19 +101,11 @@ const BarGraphLegendPosition = (props) => (
|
|
29
101
|
tag="h4"
|
30
102
|
text="align | verticalAlign"
|
31
103
|
/>
|
32
|
-
<
|
33
|
-
|
34
|
-
|
35
|
-
chartData={chartData}
|
36
|
-
id="legend-position-bar"
|
37
|
-
legend
|
38
|
-
paddingBottom="sm"
|
39
|
-
title="Alignment of Legend"
|
40
|
-
verticalAlign="top"
|
41
|
-
xAxisCategories={['Jan']}
|
42
|
-
yAxisMin={0}
|
43
|
-
{...props}
|
104
|
+
<HighchartsReact
|
105
|
+
highcharts={Highcharts}
|
106
|
+
options={alignOptions}
|
44
107
|
/>
|
108
|
+
|
45
109
|
<Title
|
46
110
|
paddingBottom="sm"
|
47
111
|
paddingTop="sm"
|
@@ -49,19 +113,11 @@ const BarGraphLegendPosition = (props) => (
|
|
49
113
|
tag="h4"
|
50
114
|
text="layout"
|
51
115
|
/>
|
52
|
-
<
|
53
|
-
|
54
|
-
|
55
|
-
id="legend-position-bar-1"
|
56
|
-
layout="vertical"
|
57
|
-
legend
|
58
|
-
paddingBottom="sm"
|
59
|
-
paddingTop="sm"
|
60
|
-
title="Layout of Legend"
|
61
|
-
xAxisCategories={['Jan']}
|
62
|
-
yAxisMin={0}
|
63
|
-
{...props}
|
116
|
+
<HighchartsReact
|
117
|
+
highcharts={Highcharts}
|
118
|
+
options={layoutOptions}
|
64
119
|
/>
|
120
|
+
|
65
121
|
<Title
|
66
122
|
paddingBottom="sm"
|
67
123
|
paddingTop="sm"
|
@@ -69,20 +125,12 @@ const BarGraphLegendPosition = (props) => (
|
|
69
125
|
tag="h4"
|
70
126
|
text="x | y"
|
71
127
|
/>
|
72
|
-
<
|
73
|
-
|
74
|
-
|
75
|
-
id="legend-position-bar-2"
|
76
|
-
layout="vertical"
|
77
|
-
legend
|
78
|
-
title="Offset of Legend"
|
79
|
-
x={100}
|
80
|
-
xAxisCategories={['Jan']}
|
81
|
-
y={10}
|
82
|
-
yAxisMin={0}
|
83
|
-
{...props}
|
128
|
+
<HighchartsReact
|
129
|
+
highcharts={Highcharts}
|
130
|
+
options={offsetOptions}
|
84
131
|
/>
|
85
132
|
</div>
|
86
133
|
)
|
134
|
+
}
|
87
135
|
|
88
136
|
export default BarGraphLegendPosition
|