playbook_ui 14.23.0.pre.alpha.highchartstest9121 → 14.23.0.pre.rc.0
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/SubRowHeaderRow.tsx +11 -32
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -5
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +0 -6
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +6 -11
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -5
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -36
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -11
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -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_legend_position.md +1 -1
- 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_body/docs/_body_truncate.jsx +3 -3
- 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 +7 -4
- 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_draggable/context/index.tsx +4 -12
- data/app/pb_kits/playbook/pb_draggable/context/types.ts +2 -5
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +15 -32
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +9 -35
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +14 -26
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +15 -32
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +17 -45
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +22 -59
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +9 -40
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +18 -50
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +30 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +18 -31
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +17 -34
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +23 -64
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +1 -7
- data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +17 -36
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +16 -31
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +31 -63
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +16 -35
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +16 -41
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +62 -107
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +7 -4
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +52 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +1 -16
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +17 -30
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
- data/app/pb_kits/playbook/pb_title/docs/_title_truncate.jsx +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/dist/chunks/_typeahead-B7FRYVtS.js +22 -0
- data/dist/chunks/_weekday_stacked-BNSy7Mo2.js +45 -0
- data/dist/chunks/lib-Carqm8Ip.js +29 -0
- data/dist/chunks/{pb_form_validation-kl-4Jv4t.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 +2 -2
- metadata +24 -40
- 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_advanced_table/docs/_advanced_table_row_styling.html.erb +0 -46
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +0 -69
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +0 -51
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +0 -1
- 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_body/docs/_body_truncate_react.md +0 -4
- 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_gauge/docs/_description.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +0 -10
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +0 -26
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +0 -3
- data/app/pb_kits/playbook/pb_title/docs/_title_truncate_react.md +0 -4
- 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/dist/chunks/_line_graph-BfCo79KE.js +0 -1
- data/dist/chunks/_typeahead-Db4YQA5c.js +0 -6
- data/dist/chunks/_weekday_stacked-DhFTG-Jt.js +0 -61
- data/dist/chunks/lib-DnQyMxO1.js +0 -29
- /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling_react.md → _advanced_table_row_styling.md} +0 -0
- /data/app/pb_kits/playbook/pb_body/docs/{_body_truncate_rails.md → _body_truncate.md} +0 -0
- /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors_rails.md → _gauge_colors.md} +0 -0
- /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex_rails.md → _gauge_complex.md} +0 -0
- /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors_rails.md → _line_graph_colors.md} +0 -0
- /data/app/pb_kits/playbook/pb_title/docs/{_title_truncate_rails.md → _title_truncate.md} +0 -0
- /data/app/pb_kits/playbook/pb_tooltip/docs/{_tooltip_click_open_react.md → _tooltip_click_open.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: 06a5151f2506f00ce8b3b6fde205e30e2ce7c3757880be36f71771df2ed45de7
|
4
|
+
data.tar.gz: 3978b2a37843efd4325d39a02e868534252a1c5e5c255b10210525724d1d38bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c20beee96d95e76212aab4bea50bfd3d7cd9a4544eca713b17873362ada80a8076a02180b8dc90f8593ab9e639d3c04bc7db81259da34d09ac48919440e1e3ae
|
7
|
+
data.tar.gz: bc7fd4e83d537f8a162039cd3f2c748d3463cc7698099ef44b5d1c41713f378ab5b481000ec2aa5751f5d3fb7adaaffb34fce379bb11b726dca30086f85b9dec
|
@@ -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
|
}
|
@@ -87,7 +87,7 @@ export function useTableState({
|
|
87
87
|
// Handle grouped columns
|
88
88
|
if (column.columns && column.columns.length > 0) {
|
89
89
|
return {
|
90
|
-
header: column.
|
90
|
+
header: column.label || "",
|
91
91
|
columns: buildColumns(column.columns, false),
|
92
92
|
};
|
93
93
|
}
|
@@ -95,7 +95,7 @@ export function useTableState({
|
|
95
95
|
// Define the base column structure
|
96
96
|
const columnStructure = {
|
97
97
|
...columnHelper.accessor(column.accessor, {
|
98
|
-
header: column.
|
98
|
+
header: column.label || "",
|
99
99
|
}),
|
100
100
|
};
|
101
101
|
|
@@ -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,7 +12,7 @@
|
|
12
12
|
<% content.presence %>
|
13
13
|
<% else %>
|
14
14
|
<%= pb_rails("advanced_table/table_header", props: { column_definitions: object.column_definitions, enable_toggle_expansion: object.enable_toggle_expansion, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, show_actions_bar: object.show_actions_bar }) %>
|
15
|
-
<%= pb_rails("advanced_table/table_body", props: { id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion
|
15
|
+
<%= pb_rails("advanced_table/table_body", props: { id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion }) %>
|
16
16
|
<% end %>
|
17
17
|
<% end %>
|
18
18
|
<% end %>
|
@@ -31,8 +31,6 @@ module Playbook
|
|
31
31
|
default: []
|
32
32
|
prop :scroll_bar_none, type: Playbook::Props::Boolean,
|
33
33
|
default: false
|
34
|
-
prop :row_styling, type: Playbook::Props::Array,
|
35
|
-
default: []
|
36
34
|
|
37
35
|
def classname
|
38
36
|
additional_classes = [responsive_classname, max_height_classname, hide_scroll_bar_class]
|
@@ -10,26 +10,23 @@ examples:
|
|
10
10
|
- advanced_table_beta_sort: Enable Sorting
|
11
11
|
- advanced_table_responsive: Responsive Tables
|
12
12
|
- advanced_table_custom_cell_rails: Custom Components for Cells
|
13
|
-
- advanced_table_with_custom_header_rails: Custom Header Cell
|
14
13
|
- advanced_table_column_headers: Multi-Header Columns
|
15
14
|
- advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
|
15
|
+
- advanced_table_column_border_color_rails: Column Group Border Color
|
16
16
|
- advanced_table_no_subrows: Table with No Subrows or Expansion
|
17
17
|
- advanced_table_selectable_rows_rails: Selectable Rows
|
18
18
|
- advanced_table_selectable_rows_no_subrows_rails: Selectable Rows (No Subrows)
|
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
|
-
- advanced_table_row_styling: Row Styling
|
23
22
|
- advanced_table_column_styling_rails: Column Styling
|
24
23
|
- advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
|
25
|
-
- advanced_table_column_border_color_rails: Column Group Border Color
|
26
|
-
|
27
24
|
|
28
25
|
react:
|
29
26
|
- advanced_table_default: Default (Required Props)
|
27
|
+
- advanced_table_loading: Loading State
|
30
28
|
- advanced_table_sort: Enable Sorting
|
31
29
|
- advanced_table_sort_control: Sort Control
|
32
|
-
- advanced_table_custom_sort: Custom Sort
|
33
30
|
- advanced_table_expanded_control: Expanded Control
|
34
31
|
- advanced_table_expand_by_depth: Expand by Depth
|
35
32
|
- advanced_table_subrow_headers: SubRow Headers
|
@@ -40,31 +37,29 @@ examples:
|
|
40
37
|
- advanced_table_table_props_sticky_header: Sticky Header for Responsive Table
|
41
38
|
- advanced_table_sticky_columns: Sticky Columns
|
42
39
|
- advanced_table_sticky_columns_and_header: Sticky Columns with Sticky Header
|
40
|
+
- advanced_table_inline_row_loading: Inline Row Loading
|
43
41
|
- advanced_table_responsive: Responsive Tables
|
44
42
|
- advanced_table_custom_cell: Custom Components for Cells
|
45
|
-
- advanced_table_with_custom_header: Custom Header Cell
|
46
43
|
- advanced_table_pagination: Pagination
|
47
44
|
- advanced_table_pagination_with_props: Pagination Props
|
48
|
-
- advanced_table_loading: Loading State
|
49
|
-
- advanced_table_inline_row_loading: Inline Row Loading
|
50
45
|
- advanced_table_column_headers: Multi-Header Columns
|
51
46
|
- advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
|
52
47
|
- advanced_table_column_headers_custom_cell: Multi-Header Columns with Custom Cells
|
48
|
+
- advanced_table_column_border_color: Column Group Border Color
|
53
49
|
- advanced_table_no_subrows: Table with No Subrows or Expansion
|
54
|
-
- advanced_table_pinned_rows: Pinned Rows
|
55
50
|
- advanced_table_selectable_rows: Selectable Rows
|
56
51
|
- advanced_table_selectable_rows_no_subrows_react: Selectable Rows (No Subrows)
|
57
52
|
- advanced_table_selectable_rows_actions: Selectable Rows (With Actions)
|
58
53
|
- advanced_table_selectable_rows_header: Selectable Rows (No Actions Bar)
|
59
54
|
- advanced_table_inline_editing: Inline Cell Editing
|
55
|
+
- advanced_table_fullscreen: Fullscreen
|
60
56
|
- advanced_table_column_visibility: Column Visibility Control
|
61
57
|
- advanced_table_column_visibility_with_state: Column Visibility Control With State
|
62
58
|
- advanced_table_column_visibility_custom: Column Visibility Control with Custom Dropdown
|
63
59
|
- advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
|
60
|
+
- advanced_table_pinned_rows: Pinned Rows
|
64
61
|
- advanced_table_scrollbar_none: Advanced Table Scrollbar None
|
65
62
|
- advanced_table_row_styling: Row Styling
|
66
63
|
- advanced_table_column_styling: Column Styling
|
67
64
|
- advanced_table_column_styling_column_headers: Column Styling with Multiple Headers
|
68
|
-
- advanced_table_column_border_color: Column Group Border Color
|
69
|
-
- advanced_table_fullscreen: Fullscreen
|
70
65
|
- advanced_table_infinite_scroll: Infinite Scroll
|
@@ -38,5 +38,3 @@ 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'
|
@@ -23,8 +23,6 @@ module Playbook
|
|
23
23
|
default: "scroll"
|
24
24
|
prop :selectable_rows, type: Playbook::Props::Boolean,
|
25
25
|
default: false
|
26
|
-
prop :row_styling, type: Playbook::Props::Array,
|
27
|
-
default: []
|
28
26
|
|
29
27
|
def flatten_columns(columns)
|
30
28
|
columns.flat_map do |col|
|
@@ -68,7 +66,7 @@ module Playbook
|
|
68
66
|
end
|
69
67
|
|
70
68
|
# Additional class and data attributes needed for toggle logic
|
71
|
-
output << pb_rails("advanced_table/table_row", props: { id: id, row: row, column_definitions: leaf_columns, depth: current_depth, collapsible_trail: collapsible_trail, classname: additional_classes, table_data_attributes: current_data_attributes, responsive: responsive, loading: loading, selectable_rows: selectable_rows, row_id: row[:id], enable_toggle_expansion: enable_toggle_expansion
|
69
|
+
output << pb_rails("advanced_table/table_row", props: { id: id, row: row, column_definitions: leaf_columns, depth: current_depth, collapsible_trail: collapsible_trail, classname: additional_classes, table_data_attributes: current_data_attributes, responsive: responsive, loading: loading, selectable_rows: selectable_rows, row_id: row[:id], enable_toggle_expansion: enable_toggle_expansion })
|
72
70
|
|
73
71
|
if row[:children].present?
|
74
72
|
row[:children].each do |child_row|
|
@@ -76,30 +76,6 @@ module Playbook
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
# Get original column definition for custom rendering
|
80
|
-
def find_original_column_def(accessor)
|
81
|
-
find_column_def_by_accessor(column_definitions, accessor)
|
82
|
-
end
|
83
|
-
|
84
|
-
# Check if a header cell has a custom renderer
|
85
|
-
def has_header_renderer?(cell)
|
86
|
-
return false unless cell[:accessor].present?
|
87
|
-
|
88
|
-
original_def = find_original_column_def(cell[:accessor])
|
89
|
-
original_def && original_def[:header].present?
|
90
|
-
end
|
91
|
-
|
92
|
-
# Render custom header content
|
93
|
-
def render_header(cell)
|
94
|
-
return cell[:label] unless has_header_renderer?(cell)
|
95
|
-
|
96
|
-
original_def = find_original_column_def(cell[:accessor])
|
97
|
-
custom_renderer = original_def[:header]
|
98
|
-
|
99
|
-
# Call the custom renderer with the cell data and label
|
100
|
-
custom_renderer.call(cell, cell[:label])
|
101
|
-
end
|
102
|
-
|
103
79
|
private
|
104
80
|
|
105
81
|
def compute_max_depth(columns)
|
@@ -172,18 +148,6 @@ module Playbook
|
|
172
148
|
end
|
173
149
|
wrapped
|
174
150
|
end
|
175
|
-
|
176
|
-
def find_column_def_by_accessor(defs, target_accessor)
|
177
|
-
defs.each do |col|
|
178
|
-
return col if col[:accessor] == target_accessor
|
179
|
-
|
180
|
-
if col[:columns].is_a?(Array)
|
181
|
-
found = find_column_def_by_accessor(col[:columns], target_accessor)
|
182
|
-
return found if found
|
183
|
-
end
|
184
|
-
end
|
185
|
-
nil
|
186
|
-
end
|
187
151
|
end
|
188
152
|
end
|
189
153
|
end
|
@@ -1,10 +1,3 @@
|
|
1
|
-
<%
|
2
|
-
row_style = object.row_styling.find { |style| style[:row_id].to_s == object.row_id.to_s }
|
3
|
-
button_color = row_style&.[](:expand_button_color)
|
4
|
-
bg_color = row_style&.[](:background_color)
|
5
|
-
font_color = row_style&.[](:font_color)
|
6
|
-
%>
|
7
|
-
|
8
1
|
<%= pb_content_tag(:tr) do %>
|
9
2
|
<% has_separate_checkbox = object.selectable_rows && object.enable_toggle_expansion == "none" %>
|
10
3
|
<% if has_separate_checkbox %>
|
@@ -12,7 +5,7 @@
|
|
12
5
|
<% end %>
|
13
6
|
<% object.column_definitions.each_with_index do |column, index| %>
|
14
7
|
<% next unless column[:accessor].present? %>
|
15
|
-
<%= pb_rails("table/table_cell", props: {
|
8
|
+
<%= pb_rails("table/table_cell", props: { classname:object.td_classname(column, index)}) do %>
|
16
9
|
<%= pb_rails("flex", props:{ align: "center", justify: object.justify_for(column, index), classname: object.loading ? "loading-cell" : "" }) do %>
|
17
10
|
<% if collapsible_trail && index.zero? %>
|
18
11
|
<% (1..depth).each do |i| %>
|
@@ -35,9 +28,7 @@
|
|
35
28
|
<button
|
36
29
|
id="<%= "#{object.id}_#{object.row.object_id}" %>"
|
37
30
|
class="gray-icon expand-toggle-icon"
|
38
|
-
data-advanced-table="true"
|
39
|
-
style="color: <%= button_color %>"
|
40
|
-
>
|
31
|
+
data-advanced-table="true">
|
41
32
|
<%= pb_rails("icon", props: { id: "advanced-table_open_icon", icon: "circle-play", cursor: "pointer" }) %>
|
42
33
|
<%= pb_rails("icon", props: { id: "advanced-table_close_icon", icon: "circle-play-down", cursor: "pointer" }) %>
|
43
34
|
</button>
|
@@ -27,8 +27,6 @@ module Playbook
|
|
27
27
|
prop :enable_toggle_expansion, type: Playbook::Props::Enum,
|
28
28
|
values: %w[all header none],
|
29
29
|
default: "header"
|
30
|
-
prop :row_styling, type: Playbook::Props::Array,
|
31
|
-
default: []
|
32
30
|
|
33
31
|
def data
|
34
32
|
Hash(prop(:data)).merge(table_data_attributes)
|
@@ -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
|