playbook_ui 14.18.0.pre.alpha.revert4567revert4553PLAY2056ATcolbordercolors7469 → 14.18.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/RegularTableView.tsx +3 -23
- data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +3 -67
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableActions.ts +2 -1
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/ExpansionControlHelpers.tsx +19 -29
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +143 -365
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +1 -14
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +1 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +2 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_rails.md +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_react.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +2 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +2 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -10
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -6
- data/app/pb_kits/playbook/pb_advanced_table/index.js +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +2 -2
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb +2 -2
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +2 -2
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +1 -39
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +0 -4
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +1 -9
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +0 -14
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_copy_button/_copy_button.tsx +45 -19
- data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_copy_button/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_copy_button/index.js +20 -46
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +0 -12
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -12
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +1 -50
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +1 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_rails.md +0 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_range_limit.md +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_react.md +1 -5
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_picker/plugins/quickPick.tsx +0 -10
- data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -10
- data/app/pb_kits/playbook/pb_dialog/dialog.rb +0 -2
- data/app/pb_kits/playbook/pb_dialog/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_dialog/index.js +14 -106
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +1 -3
- data/app/pb_kits/playbook/pb_draggable/draggable.rb +1 -9
- data/app/pb_kits/playbook/pb_draggable/index.js +142 -139
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +1 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +1 -4
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +1 -1
- data/app/pb_kits/playbook/pb_filter/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +3 -23
- data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +5 -15
- data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +6 -39
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_layout/_layout.scss +1 -70
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +2 -29
- data/app/pb_kits/playbook/pb_layout/docs/_layout_bracket.jsx +118 -322
- data/app/pb_kits/playbook/pb_layout/docs/_layout_bracket.md +1 -1
- data/app/pb_kits/playbook/pb_layout/subcomponents/_game.tsx +43 -74
- data/app/pb_kits/playbook/pb_layout/subcomponents/_round.tsx +4 -21
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_overlay/_overlay.scss +22 -83
- data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +7 -39
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.md +7 -1
- data/app/pb_kits/playbook/pb_overlay/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_overlay/docs/index.js +0 -5
- data/app/pb_kits/playbook/pb_overlay/overlay.test.jsx +1 -39
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +0 -13
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +1 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +1 -8
- 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_phone_number_input/phone_number_input.test.js +0 -19
- data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_popover/index.ts +1 -13
- data/app/pb_kits/playbook/pb_popover/popover.rb +0 -2
- data/app/pb_kits/playbook/pb_select/docs/_select_error.jsx +2 -7
- data/app/pb_kits/playbook/pb_table/_table.tsx +2 -2
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md +1 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md +1 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md +1 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md +1 -3
- data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +1 -1
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +5 -13
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.jsx +1 -9
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_text_input/inputMask.ts +1 -8
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.jsx +1 -7
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx +2 -6
- data/dist/chunks/_typeahead-C2GOKWtm.js +22 -0
- data/dist/chunks/_weekday_stacked-CFGTPT0O.js +45 -0
- data/dist/chunks/lib-BGzBzFZX.js +29 -0
- data/dist/chunks/{pb_form_validation-BWjy4bFn.js → pb_form_validation-BvNy9Bd6.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +2 -2
- data/dist/playbook-doc.js +1 -19
- 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 +8 -71
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.jsx +0 -80
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.md +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.html.erb +0 -58
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.md +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expand_by_depth.jsx +0 -66
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expand_by_depth.md +0 -10
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns.jsx +0 -58
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns.md +0 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.jsx +0 -64
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.md +0 -8
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.jsx +0 -55
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.md +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.html.erb +0 -33
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.md +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +0 -97
- data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +0 -53
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +0 -38
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +0 -1
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_size.html.erb +0 -28
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_size.jsx +0 -42
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_size.md +0 -1
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook.jsx +0 -54
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook.md +0 -3
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook_rails.html.erb +0 -14
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook_rails.md +0 -3
- data/app/pb_kits/playbook/pb_copy_button/usePBCopy.ts +0 -45
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range_pattern.jsx +0 -34
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range_pattern.md +0 -14
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range_pattern_rails.html.erb +0 -20
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range_pattern_rails.md +0 -14
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_turbo_frames.html.erb +0 -117
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_turbo_frames_rails.md +0 -9
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.html.erb +0 -43
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.html.erb +0 -55
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors_rails.md +0 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.html.erb +0 -42
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.md +0 -1
- data/app/pb_kits/playbook/pb_filter/docs/_filter_within_turbo_frames.html.erb +0 -41
- data/app/pb_kits/playbook/pb_filter/docs/_filter_within_turbo_frames.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +0 -30
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +0 -85
- data/app/pb_kits/playbook/pb_layout/subcomponents/_participant.tsx +0 -79
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +0 -52
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +0 -1
- data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +0 -110
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_color.jsx +0 -63
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_color.md +0 -3
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_background.jsx +0 -49
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_background.md +0 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_opacity.jsx +0 -81
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_opacity.md +0 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_gradient_opacity.jsx +0 -39
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_gradient_opacity.md +0 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.jsx +0 -40
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.md +0 -5
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_country_search.html.erb +0 -10
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_country_search.jsx +0 -20
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_country_search.md +0 -1
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.html.erb +0 -46
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.md +0 -1
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_sanitize.jsx +0 -94
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_sanitize.md +0 -1
- data/dist/chunks/_typeahead-D8CsVBZO.js +0 -22
- data/dist/chunks/_weekday_stacked-D3oLTSkH.js +0 -45
- data/dist/chunks/lib-BmTAc7Nc.js +0 -29
- /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones_react.md → _draggable_drop_zones.md} +0 -0
- /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones_colors_react.md → _draggable_drop_zones_colors.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: 7f3de47141a421d9d9d54ab4699505a03bdc2ba36fce5d87d2bd3bc007526e7d
|
4
|
+
data.tar.gz: ffb8e34afbabf026e6a10a8a3ab7981237015d8ba57945df855316d3b93f2ed4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz: '
|
6
|
+
metadata.gz: b42981d33ab74bac828aef053f460a9ce9b108b21955f311e9050d1a3e0a7bc06629de944bd11c4cb4d677612a905c32d9faf199eb7614e74534060a75cac1bb
|
7
|
+
data.tar.gz: '09b073481994a722f3330d2f8a581fd9426e9f36ec394e5456db05274313189db59ef9d364b9bbb648846b67f1cc5a3f38912ca7730c680a22bd35c6e1c3c7b7'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React, { useContext
|
1
|
+
import React, { useContext } from "react"
|
2
2
|
import classnames from "classnames"
|
3
3
|
import { flexRender, Row, Cell } from "@tanstack/react-table"
|
4
4
|
|
@@ -32,21 +32,9 @@ export const RegularTableView = ({
|
|
32
32
|
table,
|
33
33
|
selectableRows,
|
34
34
|
hasAnySubRows,
|
35
|
-
|
35
|
+
isPinnedLeft = false,
|
36
36
|
} = useContext(AdvancedTableContext)
|
37
37
|
|
38
|
-
|
39
|
-
useEffect(() => {
|
40
|
-
if (stickyLeftColumn && Array.isArray(stickyLeftColumn)) {
|
41
|
-
stickyLeftColumn.forEach((columnId) => {
|
42
|
-
const column = table.getColumn(columnId);
|
43
|
-
if (column && column.getCanPin()) {
|
44
|
-
column.pin('left');
|
45
|
-
}
|
46
|
-
});
|
47
|
-
}
|
48
|
-
},[stickyLeftColumn, table]);
|
49
|
-
|
50
38
|
const columnPinning = table.getState().columnPinning || { left: [] };
|
51
39
|
const columnDefinitions = table.options.meta?.columnDefinitions || [];
|
52
40
|
|
@@ -94,7 +82,7 @@ export const RegularTableView = ({
|
|
94
82
|
{row.getVisibleCells().map((cell: Cell<GenericObject, unknown>, i: number) => {
|
95
83
|
const isPinnedLeft = columnPinning.left.includes(cell.column.id);
|
96
84
|
const isLastCell = cell.column.parent?.columns?.at(-1)?.id === cell.column.id;
|
97
|
-
|
85
|
+
|
98
86
|
return (
|
99
87
|
<td
|
100
88
|
align="right"
|
@@ -102,17 +90,9 @@ export const RegularTableView = ({
|
|
102
90
|
`${cell.id}-cell position_relative`,
|
103
91
|
isChrome() ? "chrome-styles" : "",
|
104
92
|
isPinnedLeft && 'pinned-left',
|
105
|
-
stickyLeftColumn && stickyLeftColumn.length > 0 && isPinnedLeft && 'sticky-left',
|
106
93
|
isLastCell && 'last-cell',
|
107
94
|
)}
|
108
95
|
key={`${cell.id}-data`}
|
109
|
-
style={{
|
110
|
-
left: isPinnedLeft
|
111
|
-
? i === 1 //Accounting for set min-width for first column
|
112
|
-
? '180px'
|
113
|
-
: `${column.getStart("left")}px`
|
114
|
-
: undefined,
|
115
|
-
}}
|
116
96
|
>
|
117
97
|
{collapsibleTrail && i === 0 && row.depth > 0 && renderCollapsibleTrail(row.depth)}
|
118
98
|
<span id={`${cell.id}-span`}>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, { useContext } from "react"
|
2
2
|
import classnames from "classnames"
|
3
|
-
import { flexRender, Header, Table
|
3
|
+
import { flexRender, Header, Table } from "@tanstack/react-table"
|
4
4
|
|
5
5
|
import { GenericObject } from "../../types"
|
6
6
|
|
@@ -8,16 +8,9 @@ import { GlobalProps } from "../../utilities/globalProps"
|
|
8
8
|
|
9
9
|
import Flex from "../../pb_flex/_flex"
|
10
10
|
import Checkbox from "../../pb_checkbox/_checkbox"
|
11
|
-
import Dropdown from "../../pb_dropdown/_dropdown"
|
12
|
-
import DropdownTrigger from "../../pb_dropdown/subcomponents/DropdownTrigger"
|
13
|
-
import DropdownOption from "../../pb_dropdown/subcomponents/DropdownOption"
|
14
|
-
import DropdownContainer from "../../pb_dropdown/subcomponents/DropdownContainer"
|
15
|
-
import Icon from "../../pb_icon/_icon"
|
16
11
|
|
17
12
|
import { SortIconButton } from "./SortIconButton"
|
18
13
|
import { ToggleIconButton } from "./ToggleIconButton"
|
19
|
-
import { displayIcon } from "../Utilities/IconHelpers"
|
20
|
-
import { updateExpandAndCollapseState } from "../Utilities/ExpansionControlHelpers"
|
21
14
|
|
22
15
|
import { isChrome } from "../Utilities/BrowserCheck"
|
23
16
|
|
@@ -47,17 +40,11 @@ export const TableHeaderCell = ({
|
|
47
40
|
table
|
48
41
|
}: TableHeaderCellProps) => {
|
49
42
|
const {
|
50
|
-
expanded,
|
51
|
-
setExpanded,
|
52
|
-
expandByDepth,
|
53
|
-
onExpandByDepthClick,
|
54
|
-
toggleExpansionIcon,
|
55
43
|
sortControl,
|
56
44
|
responsive,
|
57
45
|
selectableRows,
|
58
46
|
hasAnySubRows,
|
59
47
|
showActionsBar,
|
60
|
-
stickyLeftColumn,
|
61
48
|
inlineRowLoading,
|
62
49
|
isActionBarVisible,
|
63
50
|
} = useContext(AdvancedTableContext);
|
@@ -89,9 +76,7 @@ const cellClassName = classnames(
|
|
89
76
|
`${isChrome() ? "chrome-styles" : ""}`,
|
90
77
|
`${enableSorting ? "table-header-cells-active" : ""}`,
|
91
78
|
{ "pinned-left": responsive === "scroll" && isPinnedLeft },
|
92
|
-
isLastHeaderCell ? "last-header-cell" : ""
|
93
|
-
stickyLeftColumn && stickyLeftColumn.length > 0 && isPinnedLeft ? 'sticky-left' : "",
|
94
|
-
|
79
|
+
isLastHeaderCell ? "last-header-cell" : ""
|
95
80
|
);
|
96
81
|
|
97
82
|
const cellId = `${loading ?
|
@@ -119,21 +104,6 @@ const isToggleExpansionEnabled =
|
|
119
104
|
justifyHeader = isLeafColumn ? "end" : "center";
|
120
105
|
}
|
121
106
|
|
122
|
-
const handleExpandDepth = (depth: number) => {
|
123
|
-
if (onExpandByDepthClick) {
|
124
|
-
const flatRows = table?.getRowModel().flatRows
|
125
|
-
onExpandByDepthClick(depth, flatRows)
|
126
|
-
}
|
127
|
-
const updated = updateExpandAndCollapseState(
|
128
|
-
table.getRowModel(),
|
129
|
-
expanded,
|
130
|
-
undefined,
|
131
|
-
depth
|
132
|
-
)
|
133
|
-
setExpanded(updated)
|
134
|
-
}
|
135
|
-
|
136
|
-
|
137
107
|
return (
|
138
108
|
<th
|
139
109
|
align="right"
|
@@ -141,13 +111,6 @@ const isToggleExpansionEnabled =
|
|
141
111
|
colSpan={header?.colSpan}
|
142
112
|
id={cellId}
|
143
113
|
key={`${header?.id}-header`}
|
144
|
-
style={{
|
145
|
-
left: isPinnedLeft
|
146
|
-
? header?.index === 1 //Accounting for set min-width for first column
|
147
|
-
? '180px'
|
148
|
-
: `${header?.column.getStart("left")}px`
|
149
|
-
: undefined,
|
150
|
-
}}
|
151
114
|
>
|
152
115
|
{header?.isPlaceholder ? null : headerChildren && header?.index === 0 ? (
|
153
116
|
<Flex alignItems="center">
|
@@ -170,36 +133,9 @@ const isToggleExpansionEnabled =
|
|
170
133
|
/>
|
171
134
|
)
|
172
135
|
}
|
173
|
-
{isToggleExpansionEnabled && hasAnySubRows &&
|
136
|
+
{isToggleExpansionEnabled && hasAnySubRows && (
|
174
137
|
<ToggleIconButton onClick={handleExpandOrCollapse} />
|
175
138
|
)}
|
176
|
-
{isToggleExpansionEnabled && hasAnySubRows && expandByDepth && (
|
177
|
-
<Dropdown className="expand-by-depth-dropdown-wrapper"
|
178
|
-
options={expandByDepth}
|
179
|
-
>
|
180
|
-
<DropdownTrigger className="gray-icon toggle-all-icon">
|
181
|
-
<Icon icon={displayIcon(toggleExpansionIcon)[0]} />
|
182
|
-
</DropdownTrigger>
|
183
|
-
<DropdownContainer className="expand-by-depth-dropdown">
|
184
|
-
{expandByDepth.map((option:{ [key: string]: any }, index: number) => (
|
185
|
-
<DropdownOption
|
186
|
-
key={index}
|
187
|
-
option={option}
|
188
|
-
padding="none"
|
189
|
-
>
|
190
|
-
<Flex
|
191
|
-
alignItems="center"
|
192
|
-
htmlOptions={{onClick: () => {handleExpandDepth(option.depth)} }}
|
193
|
-
paddingX="sm"
|
194
|
-
paddingY="xs"
|
195
|
-
>
|
196
|
-
{option.label}
|
197
|
-
</Flex>
|
198
|
-
</DropdownOption>
|
199
|
-
))}
|
200
|
-
</DropdownContainer>
|
201
|
-
</Dropdown>
|
202
|
-
)}
|
203
139
|
|
204
140
|
{isToggleExpansionEnabledLoading &&(
|
205
141
|
<div className="loading-toggle-icon header-toggle-icon" />
|
@@ -22,9 +22,10 @@ export function useTableActions({
|
|
22
22
|
// Handle expand/collapse
|
23
23
|
const handleExpandOrCollapse = useCallback(async (row: Row<GenericObject>) => {
|
24
24
|
onToggleExpansionClick && onToggleExpansionClick(row);
|
25
|
+
|
25
26
|
const expandedState = expanded;
|
26
27
|
const targetParent = row?.parentId;
|
27
|
-
const updatedRows = await updateExpandAndCollapseState(table.getRowModel(), expandedState, targetParent
|
28
|
+
const updatedRows = await updateExpandAndCollapseState(table.getRowModel(), expandedState, targetParent);
|
28
29
|
setExpanded(updatedRows);
|
29
30
|
}, [expanded, setExpanded, onToggleExpansionClick, table]);
|
30
31
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { RowModel
|
1
|
+
import { RowModel } from "@tanstack/react-table"
|
2
2
|
import { ExpandedStateObject } from "./types"
|
3
3
|
import { GenericObject } from "../../types"
|
4
4
|
|
@@ -14,40 +14,30 @@ const filterExpandableRows = (expandedState: Record<string, boolean>) => {
|
|
14
14
|
export const updateExpandAndCollapseState = (
|
15
15
|
tableRows: RowModel<GenericObject>,
|
16
16
|
expanded: Record<string, boolean>,
|
17
|
-
targetParent
|
18
|
-
targetDepth?: number,
|
17
|
+
targetParent: string
|
19
18
|
) => {
|
20
19
|
const updateExpandedRows: Record<string, boolean> = {};
|
21
|
-
const rows =
|
20
|
+
const rows = tableRows.rows;
|
22
21
|
|
23
|
-
|
22
|
+
let isExpansionConsistent = true;
|
23
|
+
const areRowsExpanded = new Set<boolean>();
|
24
24
|
|
25
25
|
for (const row of rows) {
|
26
|
-
const shouldBeUpdated =
|
27
|
-
|
28
|
-
? row.depth <= targetDepth
|
29
|
-
: targetParent === undefined
|
30
|
-
? row.depth === 0
|
31
|
-
: targetParent === row.parentId;
|
32
|
-
|
26
|
+
const shouldBeUpdated = targetParent === undefined ? row.depth === 0 : targetParent === row.parentId;
|
27
|
+
|
33
28
|
if (shouldBeUpdated) {
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
? true
|
47
|
-
: row.depth === targetDepth;
|
48
|
-
|
49
|
-
if (shouldUpdate) {
|
50
|
-
updateExpandedRows[row.id] = isExpandAction;
|
29
|
+
const isExpanded = row.getIsExpanded();
|
30
|
+
areRowsExpanded.add(isExpanded);
|
31
|
+
|
32
|
+
updateExpandedRows[row.id] = !isExpansionConsistent ? true : !isExpanded;
|
33
|
+
|
34
|
+
if (areRowsExpanded.size > 1) {
|
35
|
+
isExpansionConsistent = false;
|
36
|
+
// If expansion inconsistent, ensure all target rows are set to expand
|
37
|
+
for (const key in updateExpandedRows) {
|
38
|
+
updateExpandedRows[key] = true;
|
39
|
+
}
|
40
|
+
}
|
51
41
|
}
|
52
42
|
}
|
53
43
|
|