playbook_ui 13.21.0.pre.alpha.PLAY12582531 → 13.21.0.pre.alpha.PLAY12652489
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +19 -21
- data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +3 -6
- data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +8 -12
- data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +9 -14
- data/app/pb_kits/playbook/pb_advanced_table/Components/ToggleIconButton.tsx +5 -9
- data/app/pb_kits/playbook/pb_advanced_table/README.md +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableBody.tsx +11 -15
- data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +8 -12
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/ExpansionControlHelpers.tsx +37 -23
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/types.ts +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +9 -7
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +80 -83
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +61 -67
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data_inline_loading.js +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +1 -2
- data/app/pb_kits/playbook/pb_background/background.html.erb +1 -2
- data/app/pb_kits/playbook/pb_badge/badge.html.erb +1 -2
- data/app/pb_kits/playbook/pb_body/body.html.erb +1 -2
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +7 -0
- data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.html.erb +1 -2
- data/app/pb_kits/playbook/pb_button/button.html.erb +1 -2
- data/app/pb_kits/playbook/pb_button/button.rb +3 -2
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.html.erb +1 -2
- data/app/pb_kits/playbook/pb_caption/caption.html.erb +1 -2
- data/app/pb_kits/playbook/pb_card/card.html.erb +1 -2
- data/app/pb_kits/playbook/pb_card/card_body.html.erb +1 -2
- data/app/pb_kits/playbook/pb_card/card_header.html.erb +1 -2
- data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +1 -3
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +1 -2
- data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +1 -2
- data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +1 -2
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +1 -2
- data/app/pb_kits/playbook/pb_contact/contact.html.erb +1 -2
- data/app/pb_kits/playbook/pb_currency/currency.html.erb +1 -2
- data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.html.erb +1 -2
- data/app/pb_kits/playbook/pb_date/date.html.erb +1 -2
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +2 -1
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +0 -3
- data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +2 -4
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +1 -2
- data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +1 -1
- 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/sass_partials/_input_styles.scss +2 -1
- data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.html.erb +1 -2
- data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.html.erb +1 -2
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +1 -2
- data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +1 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +2 -3
- data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.html.erb +1 -2
- data/app/pb_kits/playbook/pb_detail/detail.html.erb +1 -2
- data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -2
- data/app/pb_kits/playbook/pb_dialog/dialog_body.html.erb +2 -3
- data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +1 -2
- data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -3
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -2
- data/app/pb_kits/playbook/pb_filter/filter.html.erb +1 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +3 -8
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +0 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -51
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +11 -62
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions.html.erb +2 -7
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +3 -4
- data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.html.erb +4 -0
- data/app/pb_kits/playbook/pb_flex/flex.html.erb +1 -2
- data/app/pb_kits/playbook/pb_flex/flex_item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +1 -2
- data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +2 -2
- data/app/pb_kits/playbook/pb_hashtag/hashtag.html.erb +1 -2
- data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +1 -2
- data/app/pb_kits/playbook/pb_home_address_street/home_address_street.html.erb +1 -2
- data/app/pb_kits/playbook/pb_icon/icon.html.erb +1 -2
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -2
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -2
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +2 -0
- data/app/pb_kits/playbook/pb_icon_value/icon_value.html.erb +1 -2
- data/app/pb_kits/playbook/pb_image/image.html.erb +1 -2
- data/app/pb_kits/playbook/pb_label_pill/label_pill.html.erb +1 -2
- data/app/pb_kits/playbook/pb_label_value/label_value.html.erb +2 -3
- data/app/pb_kits/playbook/pb_layout/body.html.erb +1 -2
- data/app/pb_kits/playbook/pb_layout/footer.html.erb +1 -2
- data/app/pb_kits/playbook/pb_layout/header.html.erb +1 -2
- data/app/pb_kits/playbook/pb_layout/item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_layout/layout.html.erb +1 -2
- data/app/pb_kits/playbook/pb_layout/sidebar.html.erb +1 -2
- data/app/pb_kits/playbook/pb_legend/legend.html.erb +1 -2
- data/app/pb_kits/playbook/pb_list/item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_list/list.html.erb +1 -2
- data/app/pb_kits/playbook/pb_list/list.rb +2 -0
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -2
- data/app/pb_kits/playbook/pb_message/message.html.erb +1 -2
- data/app/pb_kits/playbook/pb_message/message_mention.html.erb +2 -3
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +1 -2
- data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +1 -2
- data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +1 -2
- data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -4
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +1 -2
- data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -2
- data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +1 -2
- data/app/pb_kits/playbook/pb_passphrase/passphrase.html.erb +1 -1
- data/app/pb_kits/playbook/pb_person/person.html.erb +1 -2
- data/app/pb_kits/playbook/pb_person_contact/person_contact.html.erb +1 -2
- data/app/pb_kits/playbook/pb_pill/pill.html.erb +1 -2
- data/app/pb_kits/playbook/pb_popover/popover.html.erb +1 -2
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +1 -2
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +1 -2
- data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +1 -2
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_radio/radio.html.erb +1 -2
- data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +1 -2
- data/app/pb_kits/playbook/pb_select/select.html.erb +1 -2
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +1 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.html.erb +1 -2
- data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.html.erb +1 -2
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list.html.erb +1 -2
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_source/source.html.erb +1 -2
- data/app/pb_kits/playbook/pb_star_rating/star_rating.html.erb +1 -2
- data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +1 -2
- data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +1 -2
- data/app/pb_kits/playbook/pb_table/table.html.erb +2 -4
- data/app/pb_kits/playbook/pb_table/table_body.html.erb +3 -5
- data/app/pb_kits/playbook/pb_table/table_cell.html.erb +3 -5
- data/app/pb_kits/playbook/pb_table/table_head.html.erb +3 -5
- data/app/pb_kits/playbook/pb_table/table_header.html.erb +3 -5
- data/app/pb_kits/playbook/pb_table/table_row.html.erb +3 -5
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +1 -0
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +1 -5
- data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +1 -2
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +1 -2
- data/app/pb_kits/playbook/pb_text_input/text_input.test.js +1 -1
- data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +1 -2
- data/app/pb_kits/playbook/pb_time/time.html.erb +1 -2
- data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb +2 -3
- data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +1 -2
- data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -2
- data/app/pb_kits/playbook/pb_timeline/timeline.html.erb +1 -2
- data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +1 -2
- data/app/pb_kits/playbook/pb_title/title.html.erb +2 -3
- data/app/pb_kits/playbook/pb_title_count/title_count.html.erb +1 -2
- data/app/pb_kits/playbook/pb_title_detail/title_detail.html.erb +1 -2
- data/app/pb_kits/playbook/pb_toggle/toggle.html.erb +1 -2
- data/app/pb_kits/playbook/pb_tooltip/tooltip.html.erb +1 -2
- data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +1 -2
- data/app/pb_kits/playbook/pb_user/user.html.erb +1 -2
- data/app/pb_kits/playbook/pb_user_badge/user_badge.html.erb +1 -2
- data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.html.erb +1 -2
- data/dist/playbook-rails.js +3 -3
- data/lib/playbook/kit_base.rb +0 -18
- data/lib/playbook/pb_doc_helper.rb +1 -1
- data/lib/playbook/props/percentage.rb +2 -2
- data/lib/playbook/version.rb +1 -1
- metadata +39 -46
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +0 -14
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -19
- data/app/pb_kits/playbook/pb_advanced_table/scss_partials/_chrome_styles.scss +0 -13
- data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +0 -9
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +0 -30
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +0 -20
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -21
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +0 -37
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -32
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_margin_bottom.html.erb +0 -7
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_margin_bottom.jsx +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e901bf0252c31cd287c2b7f72539a6b0104bc879ad732eea8d322cd179aa6202
|
4
|
+
data.tar.gz: 704137859afad5edcae51a9d62ea2728413e4d036e77ee5f872b2282004545d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41d7bc34cdbd68489a93f7fa91b5b30598a87152cd3b2a736920307c42aa10430a00ef9d84e52a0904f2a612d12bbdb9d405af3f1eaf60687e83680137c5bd04
|
7
|
+
data.tar.gz: fce579d636b206c0355bcc8001ba445bb2b78d6e7f4b6266e0817ae3f1260a7f7da2896eb1a36798f0380c63db7b6c86390bd0d21b0a9f16908b33c1282572c1
|
@@ -1,21 +1,19 @@
|
|
1
|
-
import React, { useContext } from "react"
|
2
|
-
import { Getter, Row } from "@tanstack/react-table"
|
1
|
+
import React, { useContext } from "react";
|
3
2
|
|
4
|
-
import
|
3
|
+
import Flex from "../../pb_flex/_flex";
|
4
|
+
import FlexItem from "../../pb_flex/_flex_item";
|
5
|
+
import Icon from "../../pb_icon/_icon";
|
6
|
+
import { GlobalProps } from "../../utilities/globalProps";
|
5
7
|
|
6
|
-
import {
|
7
|
-
|
8
|
-
import
|
9
|
-
import FlexItem from "../../pb_flex/_flex_item"
|
10
|
-
import Icon from "../../pb_icon/_icon"
|
11
|
-
|
12
|
-
import AdvancedTableContext from "../Context/AdvancedTableContext"
|
8
|
+
import { Getter, Row } from "@tanstack/react-table";
|
9
|
+
import { DataType } from "../Utilities/types";
|
10
|
+
import AdvancedTableContext from "../Context/AdvancedTableContext";
|
13
11
|
|
14
12
|
interface CustomCellProps {
|
15
|
-
getValue?: Getter<string
|
16
|
-
onRowToggleClick?: (arg: Row<
|
17
|
-
row: Row<
|
18
|
-
value?: string
|
13
|
+
getValue?: Getter<string>;
|
14
|
+
onRowToggleClick?: (arg: Row<DataType>) => void;
|
15
|
+
row: Row<DataType>;
|
16
|
+
value?: string;
|
19
17
|
}
|
20
18
|
|
21
19
|
export const CustomCell = ({
|
@@ -24,12 +22,12 @@ export const CustomCell = ({
|
|
24
22
|
row,
|
25
23
|
value,
|
26
24
|
}: CustomCellProps & GlobalProps) => {
|
27
|
-
const { setExpanded, expanded, inlineRowLoading } = useContext(AdvancedTableContext)
|
25
|
+
const { setExpanded, expanded, inlineRowLoading } = useContext(AdvancedTableContext);
|
28
26
|
|
29
|
-
const handleOnExpand = (row: Row<
|
30
|
-
onRowToggleClick && onRowToggleClick(row)
|
31
|
-
setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() })
|
32
|
-
}
|
27
|
+
const handleOnExpand = (row: Row<DataType>) => {
|
28
|
+
onRowToggleClick && onRowToggleClick(row);
|
29
|
+
setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() });
|
30
|
+
};
|
33
31
|
const RowHasChildren = row.original.children ? true : false
|
34
32
|
const renderButton = inlineRowLoading ? RowHasChildren : row.getCanExpand()
|
35
33
|
|
@@ -61,5 +59,5 @@ export const CustomCell = ({
|
|
61
59
|
</FlexItem>
|
62
60
|
</Flex>
|
63
61
|
</div>
|
64
|
-
)
|
65
|
-
}
|
62
|
+
);
|
63
|
+
};
|
@@ -1,14 +1,11 @@
|
|
1
1
|
import React from "react"
|
2
|
-
import { Header } from "@tanstack/react-table"
|
3
|
-
|
4
|
-
import { GenericObject } from "../../types"
|
5
|
-
|
6
2
|
import Icon from "../../pb_icon/_icon"
|
7
|
-
|
3
|
+
import { Header } from "@tanstack/react-table"
|
4
|
+
import { DataType } from "../Utilities/types"
|
8
5
|
import { displayIcon } from "../Utilities/IconHelpers"
|
9
6
|
|
10
7
|
type SortIconButtonProps = {
|
11
|
-
header: Header<
|
8
|
+
header: Header<DataType, unknown>
|
12
9
|
sortIcon?: string | string[]
|
13
10
|
}
|
14
11
|
export const SortIconButton = ({ header, sortIcon }: SortIconButtonProps) => {
|
@@ -1,27 +1,23 @@
|
|
1
1
|
import React, { useContext } from "react"
|
2
|
-
import { Row, Table } from "@tanstack/react-table"
|
3
|
-
|
4
|
-
import { GenericObject } from "../../types"
|
5
|
-
|
6
|
-
import { GlobalProps } from "../../utilities/globalProps"
|
7
|
-
|
8
2
|
import Flex from "../../pb_flex/_flex"
|
9
3
|
import Caption from "../../pb_caption/_caption"
|
4
|
+
import { Row, Table } from "@tanstack/react-table"
|
10
5
|
|
6
|
+
import AdvancedTableContext from "../Context/AdvancedTableContext";
|
11
7
|
import { ToggleIconButton } from "./ToggleIconButton"
|
12
8
|
import { renderCollapsibleTrail } from "./CollapsibleTrail"
|
13
9
|
|
14
10
|
import { isChrome } from "../Utilities/BrowserCheck"
|
15
|
-
|
16
|
-
import
|
11
|
+
import { DataType } from "../Utilities/types"
|
12
|
+
import { GlobalProps } from "../../utilities/globalProps"
|
17
13
|
|
18
14
|
interface SubRowHeaderRowProps {
|
19
15
|
collapsibleTrail?: boolean
|
20
16
|
enableToggleExpansion?: "all" | "header" | "none"
|
21
|
-
onClick: (row: Row<
|
22
|
-
row: Row<
|
17
|
+
onClick: (row: Row<DataType>) => void
|
18
|
+
row: Row<DataType>
|
23
19
|
subRowHeaders?: string[]
|
24
|
-
table: Table<
|
20
|
+
table: Table<DataType>
|
25
21
|
}
|
26
22
|
|
27
23
|
export const SubRowHeaderRow = ({
|
@@ -32,7 +28,7 @@ export const SubRowHeaderRow = ({
|
|
32
28
|
subRowHeaders,
|
33
29
|
table,
|
34
30
|
}: SubRowHeaderRowProps & GlobalProps) => {
|
35
|
-
const { inlineRowLoading } = useContext(AdvancedTableContext)
|
31
|
+
const { inlineRowLoading } = useContext(AdvancedTableContext);
|
36
32
|
|
37
33
|
const numberOfColumns = table.getAllFlatColumns().length
|
38
34
|
const rowHasChildren = row.original.children ? true : false
|
@@ -1,25 +1,20 @@
|
|
1
1
|
import React, { useContext } from "react"
|
2
|
-
import classnames from "classnames"
|
3
|
-
import { flexRender, Header } from "@tanstack/react-table"
|
4
|
-
|
5
|
-
import { GenericObject } from "../../types"
|
6
|
-
|
7
|
-
import { GlobalProps } from "../../utilities/globalProps"
|
8
|
-
|
2
|
+
import classnames from "classnames";
|
9
3
|
import Flex from "../../pb_flex/_flex"
|
4
|
+
import { flexRender, Header } from "@tanstack/react-table"
|
10
5
|
|
11
6
|
import { SortIconButton } from "./SortIconButton"
|
12
7
|
import { ToggleIconButton } from "./ToggleIconButton"
|
13
|
-
|
14
8
|
import { isChrome } from "../Utilities/BrowserCheck"
|
15
|
-
|
9
|
+
import { DataType } from "../Utilities/types"
|
16
10
|
import AdvancedTableContext from "../Context/AdvancedTableContext"
|
11
|
+
import { GlobalProps } from "../../utilities/globalProps"
|
17
12
|
|
18
13
|
type TableHeaderCellProps = {
|
19
14
|
enableSorting?: boolean
|
20
15
|
enableToggleExpansion?: "all" | "header" | "none"
|
21
16
|
handleExpandOrCollapse?: () => void
|
22
|
-
header?: Header<
|
17
|
+
header?: Header<DataType, unknown>
|
23
18
|
headerChildren?: React.ReactNode | React.ReactNode[]
|
24
19
|
loading?: boolean
|
25
20
|
sortIcon?: string | string[]
|
@@ -50,24 +45,24 @@ export const TableHeaderCell = ({
|
|
50
45
|
const cellClassName = classnames("table-header-cells",
|
51
46
|
`${isChrome() ? "chrome-styles" : ""}`,
|
52
47
|
`${enableSorting ? "table-header-cells-active" : ""}`
|
53
|
-
)
|
48
|
+
);
|
54
49
|
|
55
50
|
const cellId = `${loading ?
|
56
51
|
`loading-${header.id}`
|
57
52
|
: `${header.id}`
|
58
|
-
}
|
53
|
+
}`;
|
59
54
|
|
60
55
|
const isToggleExpansionEnabledLoading =
|
61
56
|
header.index === 0 &&
|
62
57
|
loading &&
|
63
58
|
(enableToggleExpansion === "all" || "header") &&
|
64
|
-
enableToggleExpansion !== "none"
|
59
|
+
enableToggleExpansion !== "none";
|
65
60
|
|
66
61
|
const isToggleExpansionEnabled =
|
67
62
|
header.index === 0 &&
|
68
63
|
!loading &&
|
69
64
|
(enableToggleExpansion === "all" || "header") &&
|
70
|
-
enableToggleExpansion !== "none"
|
65
|
+
enableToggleExpansion !== "none";
|
71
66
|
|
72
67
|
return (
|
73
68
|
<th
|
@@ -1,17 +1,13 @@
|
|
1
1
|
import React, { useContext } from "react"
|
2
|
-
import { Row } from "@tanstack/react-table"
|
3
|
-
|
4
|
-
import { GenericObject } from "../../types"
|
5
|
-
|
6
2
|
import Icon from "../../pb_icon/_icon"
|
7
|
-
|
8
|
-
import { displayIcon } from "../Utilities/IconHelpers"
|
9
|
-
|
3
|
+
import { Row } from "@tanstack/react-table"
|
10
4
|
import AdvancedTableContext from "../Context/AdvancedTableContext"
|
5
|
+
import { DataType } from "../Utilities/types"
|
6
|
+
import { displayIcon } from "../Utilities/IconHelpers"
|
11
7
|
|
12
8
|
interface ToggleIconButtonProps {
|
13
|
-
onClick: (row: Row<
|
14
|
-
row?: Row<
|
9
|
+
onClick: (row: Row<DataType>) => void
|
10
|
+
row?: Row<DataType>
|
15
11
|
}
|
16
12
|
|
17
13
|
export const ToggleIconButton = ({ row, onClick }: ToggleIconButtonProps) => {
|
@@ -81,7 +81,7 @@ const MOCK_DATA = [
|
|
81
81
|
graduatedStudents: "43",
|
82
82
|
children: [
|
83
83
|
{
|
84
|
-
year: "
|
84
|
+
year: "2011",
|
85
85
|
quarter: "Q1",
|
86
86
|
month: "February",
|
87
87
|
day: "15",
|
@@ -173,7 +173,7 @@ const MOCK_DATA = [
|
|
173
173
|
graduatedStudents: "43",
|
174
174
|
children: [
|
175
175
|
{
|
176
|
-
year: "
|
176
|
+
year: "2011",
|
177
177
|
quarter: "Q1",
|
178
178
|
month: "May",
|
179
179
|
day: "2",
|
@@ -1,26 +1,22 @@
|
|
1
1
|
import React, { useContext } from "react"
|
2
|
-
import classnames from "classnames"
|
3
|
-
import {
|
4
|
-
|
5
|
-
import { GenericObject } from "../../types"
|
6
|
-
|
7
|
-
import { buildCss } from "../../utilities/props"
|
8
|
-
import { globalProps } from "../../utilities/globalProps"
|
9
|
-
import { isChrome } from "../Utilities/BrowserCheck"
|
10
|
-
|
2
|
+
import classnames from "classnames";
|
3
|
+
import { buildCss } from "../../utilities/props";
|
4
|
+
import { globalProps } from "../../utilities/globalProps";
|
11
5
|
import LoadingInline from "../../pb_loading_inline/_loading_inline"
|
6
|
+
import { flexRender, Row } from "@tanstack/react-table"
|
12
7
|
|
13
8
|
import { SubRowHeaderRow } from "../Components/SubRowHeaderRow"
|
14
9
|
import { LoadingCell } from "../Components/LoadingCell"
|
15
10
|
import { renderCollapsibleTrail } from "../Components/CollapsibleTrail"
|
16
|
-
|
17
11
|
import AdvancedTableContext from "../Context/AdvancedTableContext"
|
12
|
+
import { isChrome } from "../Utilities/BrowserCheck"
|
13
|
+
import { DataType } from "../Utilities/types"
|
18
14
|
|
19
15
|
type TableBodyProps = {
|
20
|
-
className?: string
|
16
|
+
className?: string;
|
21
17
|
collapsibleTrail?: boolean
|
22
|
-
dark?: boolean
|
23
|
-
id?: string
|
18
|
+
dark?: boolean,
|
19
|
+
id?: string;
|
24
20
|
subRowHeaders?: string[]
|
25
21
|
}
|
26
22
|
|
@@ -46,14 +42,14 @@ export const TableBody = ({
|
|
46
42
|
buildCss("pb_advanced_table_body"),
|
47
43
|
globalProps(props),
|
48
44
|
className
|
49
|
-
)
|
45
|
+
);
|
50
46
|
|
51
47
|
return (
|
52
48
|
<>
|
53
49
|
<tbody className={classes}
|
54
50
|
id={id}
|
55
51
|
>
|
56
|
-
{table.getRowModel().rows.map((row: Row<
|
52
|
+
{table.getRowModel().rows.map((row: Row<DataType>) => {
|
57
53
|
const isExpandable = row.getIsExpanded()
|
58
54
|
const isFirstChildofSubrow = row.depth > 0 && row.index === 0
|
59
55
|
const rowHasNoChildren = row.original.children && !row.original.children.length ? true : false
|
@@ -1,22 +1,18 @@
|
|
1
1
|
import React, { useContext } from "react"
|
2
|
-
import classnames from "classnames"
|
2
|
+
import classnames from "classnames";
|
3
|
+
import { buildCss } from "../../utilities/props";
|
4
|
+
import { globalProps } from "../../utilities/globalProps";
|
3
5
|
import { HeaderGroup } from "@tanstack/react-table"
|
4
|
-
|
5
|
-
import { GenericObject } from "../../types"
|
6
|
-
|
7
|
-
import { buildCss } from "../../utilities/props"
|
8
|
-
import { globalProps } from "../../utilities/globalProps"
|
9
|
-
|
10
|
-
import { TableHeaderCell } from "../Components/TableHeaderCell"
|
11
|
-
|
12
6
|
import AdvancedTableContext from "../Context/AdvancedTableContext"
|
7
|
+
import { TableHeaderCell } from "../Components/TableHeaderCell"
|
8
|
+
import { DataType } from "../Utilities/types"
|
13
9
|
|
14
10
|
type TableHeaderProps = {
|
15
11
|
children?: React.ReactNode | React.ReactNode[]
|
16
12
|
className?: string
|
17
13
|
dark?: boolean,
|
18
14
|
enableSorting?: boolean
|
19
|
-
id?: string
|
15
|
+
id?: string;
|
20
16
|
sortIcon?: string | string[]
|
21
17
|
}
|
22
18
|
|
@@ -40,7 +36,7 @@ export const TableHeader = ({
|
|
40
36
|
buildCss("pb_advanced_table_header"),
|
41
37
|
globalProps(props),
|
42
38
|
className
|
43
|
-
)
|
39
|
+
);
|
44
40
|
|
45
41
|
|
46
42
|
return (
|
@@ -49,7 +45,7 @@ export const TableHeader = ({
|
|
49
45
|
id={id}
|
50
46
|
>
|
51
47
|
{/* Get the header groups (only one in this example) */}
|
52
|
-
{table.getHeaderGroups().map((headerGroup: HeaderGroup<
|
48
|
+
{table.getHeaderGroups().map((headerGroup: HeaderGroup<DataType>) => (
|
53
49
|
<tr key={`${headerGroup.id}-headerGroup`}>
|
54
50
|
{headerGroup.headers.map(header => (
|
55
51
|
<TableHeaderCell
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { RowModel } from "@tanstack/react-table"
|
2
|
-
import { ExpandedStateObject } from "./types"
|
3
|
-
import { GenericObject } from "../../types"
|
2
|
+
import { DataType, ExpandedStateObject } from "./types"
|
4
3
|
|
5
4
|
const filterExpandableRows = (expandedState: Record<string, boolean>) => {
|
6
5
|
for (const expandedRow in expandedState) {
|
@@ -12,31 +11,46 @@ const filterExpandableRows = (expandedState: Record<string, boolean>) => {
|
|
12
11
|
}
|
13
12
|
|
14
13
|
export const updateExpandAndCollapseState = (
|
15
|
-
tableRows: RowModel<
|
14
|
+
tableRows: RowModel<DataType>,
|
16
15
|
expanded: Record<string, boolean>,
|
17
16
|
targetParent: string
|
18
17
|
) => {
|
19
|
-
const updateExpandedRows: Record<string, boolean> = {}
|
20
|
-
const rows = tableRows.
|
21
|
-
|
22
|
-
let isExpansionConsistent = true
|
23
|
-
const areRowsExpanded = new Set<boolean>()
|
18
|
+
const updateExpandedRows: Record<string, boolean> = {}
|
19
|
+
const rows = tableRows.flatRows
|
20
|
+
// Variable checks if all rows in a section have same expansion state or not
|
21
|
+
let isExpansionConsistent = true
|
22
|
+
const areRowsExpanded = new Set<boolean>()
|
24
23
|
|
24
|
+
// Update isExpansionConsistent variable
|
25
25
|
for (const row of rows) {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
updateExpandedRows[row.id] = !isExpansionConsistent ? true : !isExpanded;
|
33
|
-
|
26
|
+
if (
|
27
|
+
targetParent === undefined
|
28
|
+
? row.depth === 0
|
29
|
+
: targetParent === row.parentId
|
30
|
+
) {
|
31
|
+
areRowsExpanded.add(row.getIsExpanded())
|
34
32
|
if (areRowsExpanded.size > 1) {
|
35
|
-
isExpansionConsistent = false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
isExpansionConsistent = false
|
34
|
+
break
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
// The if statement runs only for row depth 0, the else statement for the rest
|
40
|
+
if (targetParent === undefined) {
|
41
|
+
rows.forEach(row => {
|
42
|
+
if (row.depth === 0) {
|
43
|
+
updateExpandedRows[row.id] = !isExpansionConsistent
|
44
|
+
? true
|
45
|
+
: !row.getIsExpanded()
|
46
|
+
}
|
47
|
+
})
|
48
|
+
} else {
|
49
|
+
for (const row of rows) {
|
50
|
+
if (targetParent === row.parentId) {
|
51
|
+
updateExpandedRows[row.id] = !isExpansionConsistent
|
52
|
+
? true
|
53
|
+
: !row.getIsExpanded()
|
40
54
|
}
|
41
55
|
}
|
42
56
|
}
|
@@ -44,5 +58,5 @@ export const updateExpandAndCollapseState = (
|
|
44
58
|
return filterExpandableRows({
|
45
59
|
...(expanded as ExpandedStateObject),
|
46
60
|
...updateExpandedRows,
|
47
|
-
})
|
48
|
-
}
|
61
|
+
})
|
62
|
+
}
|
@@ -4,7 +4,6 @@
|
|
4
4
|
@import "../tokens/spacing";
|
5
5
|
@import "./scss_partials/loading";
|
6
6
|
@import "./scss_partials/pseudo_states";
|
7
|
-
@import "./scss_partials/chrome_styles";
|
8
7
|
|
9
8
|
.pb_advanced_table {
|
10
9
|
$border-color: 1px solid $border_light !important;
|
@@ -83,15 +82,18 @@
|
|
83
82
|
|
84
83
|
// Vertical separator
|
85
84
|
.table-header-cells:first-child,
|
86
|
-
td:first-child
|
87
|
-
|
88
|
-
box-shadow: 1px 0px 0px 0px $border_light !important;
|
85
|
+
td:first-child {
|
86
|
+
box-shadow: 1px 0px 0px 0px #e4e8f0 !important;
|
89
87
|
}
|
90
88
|
|
91
|
-
|
89
|
+
.chrome-styles:first-child {
|
90
|
+
border-right: $border-color;
|
91
|
+
}
|
92
92
|
|
93
|
-
|
94
|
-
|
93
|
+
.table-card {
|
94
|
+
.chrome-styles:first-child {
|
95
|
+
border-right: $transparent !important;
|
96
|
+
}
|
95
97
|
}
|
96
98
|
|
97
99
|
&.dark {
|