playbook_ui 14.22.0.pre.alpha.PLAY22958843 → 14.22.0.pre.alpha.customheaderat8564
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/Components/CustomCell.tsx +7 -6
- data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +11 -32
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +0 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +8 -10
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -2
- data/app/pb_kits/playbook/pb_badge/_badge.scss +6 -5
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +15 -33
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +72 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +6 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +15 -33
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +22 -52
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +16 -12
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +15 -31
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +16 -39
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +38 -86
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +15 -32
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +22 -72
- 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 +15 -31
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +16 -37
- data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +1 -36
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +26 -71
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +16 -29
- data/app/pb_kits/playbook/pb_circle_chart/docs/{_circle_chart_colors_rails.md → _circle_chart_colors.md} +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +16 -28
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +2 -4
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +15 -23
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +51 -81
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +75 -103
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +6 -3
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +13 -19
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +38 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +17 -30
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +20 -34
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +20 -29
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +20 -28
- data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_table/_table.tsx +4 -4
- 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_tooltip/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_tooltip/index.js +36 -59
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -9
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -3
- data/dist/chunks/{_typeahead-CuwY9iVi.js → _typeahead-B7FRYVtS.js} +3 -3
- data/dist/chunks/_weekday_stacked-CEJcIpjK.js +45 -0
- data/dist/chunks/{lib-DYpq0k8j.js → lib-Carqm8Ip.js} +1 -1
- data/dist/chunks/{pb_form_validation-BUOKwfvW.js → pb_form_validation-DqRmTS8m.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +8 -68
- data/dist/playbook-doc.js +2 -2
- 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/version.rb +1 -1
- metadata +15 -20
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.jsx +0 -65
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +0 -5
- data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
- data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.html.erb +0 -14
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open_rails.md +0 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.html.erb +0 -18
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_rails.md +0 -1
- data/dist/chunks/_circle_chart-BjcInQNv.js +0 -1
- data/dist/chunks/_weekday_stacked-C3EeTZ8D.js +0 -45
- /data/app/pb_kits/playbook/pb_tooltip/docs/{_tooltip_click_open_react.md → _tooltip_click_open.md} +0 -0
- /data/app/pb_kits/playbook/pb_typeahead/docs/{_typeahead_preserve_input_react.md → _typeahead_preserve_input.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: ae6b3ef179ba514261a9c3f24c44b3609980ad8295193eca7bf5ea78599e3f32
|
4
|
+
data.tar.gz: 59f4da05e7dc18142518d658c9dcb6e02938972abce9ca14af52a725839bf150
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e891d0c03d22b2b4d0ae5faeac636fb884e54619f00b236a6cba2988a4432880f305f1d894f06005c4aa45dfefd83a440bf13395d43303cb875d129a140b6d24
|
7
|
+
data.tar.gz: 72d84a27a4f5ec1c18d7f7b1da0d093336282250ebf56351639b7da26ee64593ae9ac79caa56a8a15df148e7091642afb56f390860a9a97c095c6e964128b178
|
@@ -20,7 +20,7 @@ interface CustomCellProps {
|
|
20
20
|
customRenderer?: (row: Row<GenericObject>, value: string | undefined) => React.ReactNode
|
21
21
|
selectableRows?: boolean
|
22
22
|
customStyle?: GenericObject
|
23
|
-
}
|
23
|
+
}
|
24
24
|
|
25
25
|
export const CustomCell = ({
|
26
26
|
getValue,
|
@@ -35,7 +35,7 @@ export const CustomCell = ({
|
|
35
35
|
|
36
36
|
const handleOnExpand = (row: Row<GenericObject>) => {
|
37
37
|
onRowToggleClick && onRowToggleClick(row);
|
38
|
-
|
38
|
+
|
39
39
|
if (!expandedControl) {
|
40
40
|
setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() });
|
41
41
|
}
|
@@ -46,8 +46,8 @@ export const CustomCell = ({
|
|
46
46
|
|
47
47
|
return (
|
48
48
|
<div style={{ paddingLeft: `${row.depth * 1.25}em`}}>
|
49
|
-
<Flex
|
50
|
-
alignItems="center"
|
49
|
+
<Flex
|
50
|
+
alignItems="center"
|
51
51
|
columnGap="xs"
|
52
52
|
justify="start"
|
53
53
|
orientation="row"
|
@@ -71,11 +71,12 @@ export const CustomCell = ({
|
|
71
71
|
>
|
72
72
|
{row.getIsExpanded() ? (
|
73
73
|
<Icon cursor="pointer"
|
74
|
-
icon="circle-play
|
74
|
+
icon="circle-play"
|
75
|
+
rotation={90}
|
75
76
|
/>
|
76
77
|
) : (
|
77
78
|
<Icon cursor="pointer"
|
78
|
-
icon="circle-play"
|
79
|
+
icon="circle-play"
|
79
80
|
/>
|
80
81
|
)}
|
81
82
|
</button>
|
@@ -7,7 +7,6 @@ import { GlobalProps } from "../../utilities/globalProps"
|
|
7
7
|
|
8
8
|
import Flex from "../../pb_flex/_flex"
|
9
9
|
import Caption from "../../pb_caption/_caption"
|
10
|
-
import Icon from "../../pb_icon/_icon"
|
11
10
|
|
12
11
|
import { ToggleIconButton } from "./ToggleIconButton"
|
13
12
|
import { renderCollapsibleTrail } from "./CollapsibleTrail"
|
@@ -33,19 +32,17 @@ export const SubRowHeaderRow = ({
|
|
33
32
|
subRowHeaders,
|
34
33
|
table,
|
35
34
|
}: SubRowHeaderRowProps & GlobalProps) => {
|
36
|
-
const { inlineRowLoading
|
35
|
+
const { inlineRowLoading } = useContext(AdvancedTableContext)
|
37
36
|
|
38
37
|
const numberOfColumns = table.getAllFlatColumns().length
|
39
38
|
const rowHasChildren = row.original.children ? true : false
|
40
39
|
const canExpand = inlineRowLoading ? rowHasChildren : row.getCanExpand()
|
41
|
-
const hasSubrowsToSort = row.getParentRow()?.subRows
|
42
|
-
|
43
40
|
|
44
41
|
return (
|
45
42
|
<tr className="custom-row bg-silver">
|
46
43
|
<td
|
47
44
|
className={`custom-row-first-column ${
|
48
|
-
|
45
|
+
isChrome() ? "chrome-styles" : ""
|
49
46
|
}`}
|
50
47
|
colSpan={1}
|
51
48
|
>
|
@@ -53,39 +50,21 @@ export const SubRowHeaderRow = ({
|
|
53
50
|
<div style={{ paddingLeft: `${row.depth * 1.25}em` }}>
|
54
51
|
<Flex align="center"
|
55
52
|
columnGap="xs"
|
56
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
57
|
-
//@ts-ignore
|
58
|
-
justifyContent={customSort && hasSubrowsToSort && hasSubrowsToSort.length > 1 ? "between" : undefined}
|
59
53
|
>
|
60
|
-
|
61
|
-
{
|
62
|
-
|
63
|
-
row={row}
|
64
|
-
/>
|
65
|
-
) : null}
|
66
|
-
<Caption
|
67
|
-
marginLeft={canExpand ? "none" : "xs"}
|
68
|
-
text={subRowHeaders[row.depth - 1]}
|
54
|
+
{enableToggleExpansion === "all" && canExpand ? (
|
55
|
+
<ToggleIconButton onClick={onClick}
|
56
|
+
row={row}
|
69
57
|
/>
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
onClick={() => { onCustomSortClick && onCustomSortClick(row.getParentRow()?.subRows)}}
|
76
|
-
>
|
77
|
-
<Icon
|
78
|
-
cursor="pointer"
|
79
|
-
fixedWidth
|
80
|
-
icon="sort"
|
81
|
-
/>
|
82
|
-
</button>
|
83
|
-
)}
|
58
|
+
) : null}
|
59
|
+
<Caption
|
60
|
+
marginLeft={canExpand ? "none" : "xs"}
|
61
|
+
text={subRowHeaders[row.depth - 1]}
|
62
|
+
/>
|
84
63
|
</Flex>
|
85
64
|
</div>
|
86
65
|
</td>
|
87
66
|
|
88
67
|
<td colSpan={numberOfColumns - 1} />
|
89
68
|
</tr>
|
90
|
-
)
|
69
|
+
)
|
91
70
|
}
|
@@ -36,7 +36,6 @@ type AdvancedTableProps = {
|
|
36
36
|
columnDefinitions: GenericObject[]
|
37
37
|
columnGroupBorderColor?: "text_lt_default" | "text_lt_light" | "text_lt_lighter" | "text_dk_default" | "text_dk_light" | "text_dk_lighter"
|
38
38
|
columnVisibilityControl?: GenericObject
|
39
|
-
customSort?:boolean;
|
40
39
|
dark?: boolean
|
41
40
|
data?: { [key: string]: string }
|
42
41
|
enableToggleExpansion?: "all" | "header" | "none"
|
@@ -68,7 +67,6 @@ type AdvancedTableProps = {
|
|
68
67
|
tableProps?: GenericObject
|
69
68
|
toggleExpansionIcon?: string | string[]
|
70
69
|
onRowSelectionChange?: (arg: RowSelectionState) => void
|
71
|
-
onCustomSortClick?: (arg: GenericObject[]) => void
|
72
70
|
virtualizedRows?: boolean
|
73
71
|
allowFullScreen?: boolean
|
74
72
|
fullScreenControl?: (controls: FullscreenControls) => void
|
@@ -83,7 +81,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
83
81
|
columnDefinitions,
|
84
82
|
columnGroupBorderColor,
|
85
83
|
columnVisibilityControl,
|
86
|
-
customSort,
|
87
84
|
dark = false,
|
88
85
|
data = {},
|
89
86
|
enableToggleExpansion = "header",
|
@@ -98,7 +95,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
98
95
|
maxHeight,
|
99
96
|
onRowToggleClick,
|
100
97
|
onToggleExpansionClick,
|
101
|
-
onCustomSortClick,
|
102
98
|
pagination = false,
|
103
99
|
paginationProps,
|
104
100
|
pinnedRows,
|
@@ -329,7 +325,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
329
325
|
columnDefinitions={columnDefinitions}
|
330
326
|
columnGroupBorderColor={columnGroupBorderColor}
|
331
327
|
columnVisibilityControl={columnVisibilityControl}
|
332
|
-
customSort={customSort}
|
333
328
|
enableToggleExpansion={enableToggleExpansion}
|
334
329
|
enableVirtualization={virtualizedRows}
|
335
330
|
expandByDepth={expandByDepth}
|
@@ -341,7 +336,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
341
336
|
isActionBarVisible={isActionBarVisible}
|
342
337
|
isFullscreen={isFullscreen}
|
343
338
|
loading={loading}
|
344
|
-
onCustomSortClick={onCustomSortClick}
|
345
339
|
onExpandByDepthClick={onExpandByDepthClick}
|
346
340
|
pinnedRows={pinnedRows}
|
347
341
|
responsive={responsive}
|
@@ -12,22 +12,21 @@ examples:
|
|
12
12
|
- advanced_table_custom_cell_rails: Custom Components for Cells
|
13
13
|
- advanced_table_column_headers: Multi-Header Columns
|
14
14
|
- advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
|
15
|
+
- advanced_table_column_border_color_rails: Column Group Border Color
|
15
16
|
- advanced_table_no_subrows: Table with No Subrows or Expansion
|
16
17
|
- advanced_table_selectable_rows_rails: Selectable Rows
|
17
18
|
- advanced_table_selectable_rows_no_subrows_rails: Selectable Rows (No Subrows)
|
18
19
|
- advanced_table_selectable_rows_actions_rails: Selectable Rows (With Actions)
|
19
20
|
- advanced_table_selectable_rows_header_rails: Selectable Rows (No Actions Bar)
|
20
21
|
- advanced_table_scrollbar_none: Advanced Table Scrollbar None
|
21
|
-
- advanced_table_column_styling_rails: Column Styling
|
22
|
-
- advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
|
23
|
-
- advanced_table_column_border_color_rails: Column Group Border Color
|
24
|
-
|
22
|
+
# - advanced_table_column_styling_rails: Column Styling
|
23
|
+
# - advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
|
25
24
|
|
26
25
|
react:
|
27
26
|
- advanced_table_default: Default (Required Props)
|
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
|
31
30
|
- advanced_table_expanded_control: Expanded Control
|
32
31
|
- advanced_table_expand_by_depth: Expand by Depth
|
33
32
|
- advanced_table_subrow_headers: SubRow Headers
|
@@ -38,31 +37,30 @@ examples:
|
|
38
37
|
- advanced_table_table_props_sticky_header: Sticky Header for Responsive Table
|
39
38
|
- advanced_table_sticky_columns: Sticky Columns
|
40
39
|
- advanced_table_sticky_columns_and_header: Sticky Columns with Sticky Header
|
40
|
+
- advanced_table_inline_row_loading: Inline Row Loading
|
41
41
|
- advanced_table_responsive: Responsive Tables
|
42
42
|
- advanced_table_custom_cell: Custom Components for Cells
|
43
43
|
- advanced_table_with_custom_header: Custom Header Cell
|
44
44
|
- advanced_table_pagination: Pagination
|
45
45
|
- advanced_table_pagination_with_props: Pagination Props
|
46
|
-
- advanced_table_loading: Loading State
|
47
|
-
- advanced_table_inline_row_loading: Inline Row Loading
|
48
46
|
- advanced_table_column_headers: Multi-Header Columns
|
49
47
|
- advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
|
50
48
|
- advanced_table_column_headers_custom_cell: Multi-Header Columns with Custom Cells
|
49
|
+
- advanced_table_column_border_color: Column Group Border Color
|
51
50
|
- advanced_table_no_subrows: Table with No Subrows or Expansion
|
52
|
-
- advanced_table_pinned_rows: Pinned Rows
|
53
51
|
- advanced_table_selectable_rows: Selectable Rows
|
54
52
|
- advanced_table_selectable_rows_no_subrows_react: Selectable Rows (No Subrows)
|
55
53
|
- advanced_table_selectable_rows_actions: Selectable Rows (With Actions)
|
56
54
|
- advanced_table_selectable_rows_header: Selectable Rows (No Actions Bar)
|
57
55
|
- advanced_table_inline_editing: Inline Cell Editing
|
56
|
+
- advanced_table_fullscreen: Fullscreen
|
58
57
|
- advanced_table_column_visibility: Column Visibility Control
|
59
58
|
- advanced_table_column_visibility_with_state: Column Visibility Control With State
|
60
59
|
- advanced_table_column_visibility_custom: Column Visibility Control with Custom Dropdown
|
61
60
|
- advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
|
61
|
+
- advanced_table_pinned_rows: Pinned Rows
|
62
62
|
- advanced_table_scrollbar_none: Advanced Table Scrollbar None
|
63
63
|
- advanced_table_row_styling: Row Styling
|
64
64
|
- advanced_table_column_styling: Column Styling
|
65
65
|
- advanced_table_column_styling_column_headers: Column Styling with Multiple Headers
|
66
|
-
- advanced_table_column_border_color: Column Group Border Color
|
67
|
-
- advanced_table_fullscreen: Fullscreen
|
68
66
|
- advanced_table_infinite_scroll: Infinite Scroll
|
@@ -38,5 +38,4 @@ 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'
|
42
|
-
export { default as AdvancedTableCustomSort } from './_advanced_table_custom_sort.jsx'
|
41
|
+
export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
|
@@ -30,11 +30,11 @@
|
|
30
30
|
class="gray-icon expand-toggle-icon"
|
31
31
|
data-advanced-table="true">
|
32
32
|
<%= pb_rails("icon", props: { id: "advanced-table_open_icon", icon: "circle-play", cursor: "pointer" }) %>
|
33
|
-
<%= pb_rails("icon", props: { id: "advanced-table_close_icon", icon: "circle-play
|
33
|
+
<%= pb_rails("icon", props: { id: "advanced-table_close_icon", icon: "circle-play", cursor: "pointer", rotation: 90 }) %>
|
34
34
|
</button>
|
35
35
|
<% end %>
|
36
36
|
<% end %>
|
37
|
-
<%= pb_rails("flex/flex_item") do %>
|
37
|
+
<%= pb_rails("flex/flex_item") do %>
|
38
38
|
<% if column[:custom_renderer].present? %>
|
39
39
|
<%= raw(column[:custom_renderer].call(object.row, custom_renderer_value(column, index))) %>
|
40
40
|
<% elsif index.zero? %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
@import "../tokens/typography";
|
6
6
|
|
7
7
|
[class^=pb_badge_kit] {
|
8
|
-
$
|
8
|
+
$pb_badge_height: 18px;
|
9
9
|
|
10
10
|
display: inline-flex;
|
11
11
|
align-items: center;
|
@@ -13,6 +13,7 @@
|
|
13
13
|
border-radius: $border_rad_light;
|
14
14
|
padding: 0 $space_xs/2;
|
15
15
|
border-width: 1px;
|
16
|
+
border-style: solid;
|
16
17
|
border-color: $card_light;
|
17
18
|
white-space: nowrap;
|
18
19
|
|
@@ -30,10 +31,10 @@
|
|
30
31
|
}
|
31
32
|
|
32
33
|
&[class*=_rounded] {
|
33
|
-
height: $
|
34
|
-
min-height: $
|
35
|
-
min-width: $
|
36
|
-
border-radius: $
|
34
|
+
height: $pb_badge_height;
|
35
|
+
min-height: $pb_badge_height;
|
36
|
+
min-width: $pb_badge_height;
|
37
|
+
border-radius: $pb_badge_height / 2;
|
37
38
|
}
|
38
39
|
|
39
40
|
&[class*=_notification] {
|
@@ -1,10 +1,6 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import colors from '../../tokens/exports/_colors.module.scss'
|
3
|
-
import barGraphTheme from '../barGraphTheme';
|
4
|
-
import Highcharts from "highcharts";
|
5
|
-
import HighchartsReact from "highcharts-react-official";
|
6
|
-
|
7
2
|
|
3
|
+
import BarGraph from '../_bar_graph'
|
8
4
|
|
9
5
|
const chartData = [{
|
10
6
|
name: 'Installation',
|
@@ -23,33 +19,19 @@ const chartData = [{
|
|
23
19
|
data: [1111, 677, 3245, 500, 200],
|
24
20
|
}]
|
25
21
|
|
26
|
-
const
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
}
|
22
|
+
const BarGraphColors = (props) => (
|
23
|
+
<div>
|
24
|
+
<BarGraph
|
25
|
+
axisTitle="Number of Employees"
|
26
|
+
chartData={chartData}
|
27
|
+
colors={['data-4', 'data-5', 'data-6', 'data-7', 'data-8']}
|
28
|
+
id="bar-colors"
|
29
|
+
title="Bar Graph with Custom Data Colors"
|
30
|
+
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May']}
|
31
|
+
yAxisMin={0}
|
32
|
+
{...props}
|
33
|
+
/>
|
34
|
+
</div>
|
35
|
+
)
|
54
36
|
|
55
37
|
export default BarGraphColors
|
@@ -0,0 +1,72 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import ReactDOMServer from 'react-dom/server'
|
3
|
+
import BarGraph from '../_bar_graph'
|
4
|
+
import Icon from '../../pb_icon/_icon'
|
5
|
+
|
6
|
+
const chartData = [
|
7
|
+
{
|
8
|
+
name: 'Role',
|
9
|
+
data: [0, 200, 300, 654, 656],
|
10
|
+
},
|
11
|
+
{
|
12
|
+
name: 'Company',
|
13
|
+
data: [150, 524, 320, 440, 500],
|
14
|
+
},
|
15
|
+
]
|
16
|
+
|
17
|
+
const renderIcon = (iconName, color) => {
|
18
|
+
return ReactDOMServer.renderToStaticMarkup(
|
19
|
+
<Icon
|
20
|
+
color={color}
|
21
|
+
icon={iconName}
|
22
|
+
/>)
|
23
|
+
};
|
24
|
+
|
25
|
+
const barGraphOptions = {
|
26
|
+
yAxis: {
|
27
|
+
tickInterval: 5,
|
28
|
+
},
|
29
|
+
xAxis: {
|
30
|
+
categories: ['1', '2', '3', '4', '5'],
|
31
|
+
labels: {
|
32
|
+
useHTML: true,
|
33
|
+
formatter: function () {
|
34
|
+
switch (this.value) {
|
35
|
+
case '1':
|
36
|
+
return `${renderIcon('frown', 'error')}`;
|
37
|
+
case '2':
|
38
|
+
return `${renderIcon('frown', 'warning')}`;
|
39
|
+
case '3':
|
40
|
+
return `${renderIcon('frown-open', 'neutral')}`;
|
41
|
+
case '4':
|
42
|
+
return `${renderIcon('smile', 'category_7')}`;
|
43
|
+
case '5':
|
44
|
+
return `${renderIcon('smile-beam', 'success')}`;
|
45
|
+
default:
|
46
|
+
return ''
|
47
|
+
}
|
48
|
+
},
|
49
|
+
style: {
|
50
|
+
fontSize: '1.4em',
|
51
|
+
},
|
52
|
+
y: 42,
|
53
|
+
},
|
54
|
+
},
|
55
|
+
legend: {
|
56
|
+
itemMarginTop: 62,
|
57
|
+
},
|
58
|
+
}
|
59
|
+
|
60
|
+
const BarGraphCustom = () => (
|
61
|
+
<div>
|
62
|
+
<BarGraph
|
63
|
+
chartData={chartData}
|
64
|
+
customOptions={barGraphOptions}
|
65
|
+
id="happiness-dashboard"
|
66
|
+
legend
|
67
|
+
title="Bar Graph with Custom Overrides"
|
68
|
+
/>
|
69
|
+
</div>
|
70
|
+
)
|
71
|
+
|
72
|
+
export default BarGraphCustom
|
@@ -0,0 +1,6 @@
|
|
1
|
+
The `customOptions` prop provides comprehensive access to additional [Highcharts options](https://api.highcharts.com/highcharts/) that are not explicitly defined as props.
|
2
|
+
It's important to note that certain options may require specific script imports to function properly.
|
3
|
+
|
4
|
+
Note: If you are having trouble getting any Highcharts options to work, please match the formatting of our [staticOptions](https://github.com/powerhome/playbook/blob/master/playbook/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx#L85-L141). For example, `yAxis` will need to be wrapped with square brackets.
|
5
|
+
|
6
|
+
You may also need to override any of the [defaults](https://github.com/powerhome/playbook/blob/master/playbook/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx#L45-L73) in order to get that options to work.
|
@@ -1,8 +1,6 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import barGraphTheme from '../barGraphTheme';
|
3
|
-
import Highcharts from "highcharts";
|
4
|
-
import HighchartsReact from "highcharts-react-official";
|
5
2
|
|
3
|
+
import BarGraph from '../_bar_graph'
|
6
4
|
|
7
5
|
const chartData = [{
|
8
6
|
name: 'Installation',
|
@@ -21,35 +19,19 @@ const chartData = [{
|
|
21
19
|
data: [1111, 677, 3245, 500, 200],
|
22
20
|
}]
|
23
21
|
|
24
|
-
const
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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
|
-
}
|
22
|
+
const BarGraphDefault = (props) => (
|
23
|
+
<div>
|
24
|
+
<BarGraph
|
25
|
+
axisTitle="Number of Employees"
|
26
|
+
chartData={chartData}
|
27
|
+
id="bar-default"
|
28
|
+
subTitle="Source: thesolarfoundation.com"
|
29
|
+
title="Solar Employment Growth by Sector, 2010-2016"
|
30
|
+
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May']}
|
31
|
+
yAxisMin={0}
|
32
|
+
{...props}
|
33
|
+
/>
|
34
|
+
</div>
|
35
|
+
)
|
54
36
|
|
55
37
|
export default BarGraphDefault
|
@@ -1,69 +1,39 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import barGraphTheme from '../barGraphTheme';
|
3
|
-
import Highcharts from "highcharts";
|
4
|
-
import HighchartsReact from "highcharts-react-official";
|
5
2
|
|
3
|
+
import BarGraph from '../_bar_graph'
|
6
4
|
|
7
5
|
const chartData = [{
|
8
6
|
name: 'Number of Installations',
|
9
7
|
data: [1475, 200, 3000, 654, 656],
|
10
8
|
}]
|
11
9
|
|
12
|
-
const
|
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 = () => (
|
10
|
+
const BarGraphDefault = (props) => (
|
53
11
|
<div>
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
12
|
+
<BarGraph
|
13
|
+
axisTitle="Number of Employees"
|
14
|
+
chartData={chartData}
|
15
|
+
height="300"
|
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
|
+
/>
|
58
22
|
|
59
23
|
<br />
|
60
24
|
<br />
|
61
25
|
|
62
|
-
<
|
63
|
-
|
64
|
-
|
26
|
+
<BarGraph
|
27
|
+
axisTitle="Number of Employees"
|
28
|
+
chartData={chartData}
|
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}
|
65
35
|
/>
|
66
36
|
</div>
|
67
37
|
)
|
68
38
|
|
69
|
-
export default
|
39
|
+
export default BarGraphDefault
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import barGraphTheme from '../barGraphTheme';
|
3
|
-
import Highcharts from "highcharts";
|
4
|
-
import HighchartsReact from "highcharts-react-official";
|
5
2
|
|
3
|
+
import BarGraph from '../_bar_graph'
|
6
4
|
|
7
|
-
|
5
|
+
|
6
|
+
const barGraphOptions = {
|
8
7
|
chart: {
|
9
8
|
type: 'bar'
|
10
9
|
},
|
@@ -23,8 +22,13 @@ const chartOptions = {
|
|
23
22
|
lineWidth: 0
|
24
23
|
},
|
25
24
|
yAxis: {
|
25
|
+
min: 0,
|
26
26
|
title: {
|
27
|
-
text: '',
|
27
|
+
text: 'Population (millions)',
|
28
|
+
align: 'high'
|
29
|
+
},
|
30
|
+
labels: {
|
31
|
+
overflow: 'justify'
|
28
32
|
},
|
29
33
|
},
|
30
34
|
tooltip: {
|
@@ -47,16 +51,16 @@ const chartOptions = {
|
|
47
51
|
}, {
|
48
52
|
name: 'Year 2018',
|
49
53
|
data: [1276, 1007, 4561, 746]
|
50
|
-
}]
|
54
|
+
}]
|
51
55
|
}
|
52
56
|
|
53
|
-
const
|
54
|
-
|
55
|
-
const BarGraphHorizontal = () => (
|
57
|
+
const BarGraphHorizontal = (props) => (
|
56
58
|
<div>
|
57
|
-
<
|
58
|
-
|
59
|
-
|
59
|
+
<BarGraph
|
60
|
+
customOptions={barGraphOptions}
|
61
|
+
id="bar-horizontal"
|
62
|
+
yAxisMin={0}
|
63
|
+
{...props}
|
60
64
|
/>
|
61
65
|
</div>
|
62
66
|
)
|