playbook_ui 18.3.0.pre.alpha.PLAY3342advancedtablereactmulticolumnselectablerow21082 → 18.3.0.pre.alpha.PLAY3353ATselectall20974
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/SubKits/TableHeader.tsx +66 -74
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +0 -49
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.md +3 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx +58 -177
- data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +1 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/kit.schema.json +16 -36
- data/app/pb_kits/playbook/pb_avatar/kit.schema.json +10 -22
- data/app/pb_kits/playbook/pb_background/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_background/kit.schema.json +3 -10
- data/app/pb_kits/playbook/pb_badge/docs/_playground.json +0 -2
- data/app/pb_kits/playbook/pb_badge/kit.schema.json +13 -27
- data/app/pb_kits/playbook/pb_body/docs/_playground.json +3 -3
- data/app/pb_kits/playbook/pb_body/kit.schema.json +5 -14
- data/app/pb_kits/playbook/pb_button/_button.tsx +1 -3
- data/app/pb_kits/playbook/pb_button/button.rb +0 -3
- data/app/pb_kits/playbook/pb_button/button.test.js +0 -154
- data/app/pb_kits/playbook/pb_button/docs/_playground.json +2 -4
- data/app/pb_kits/playbook/pb_button/docs/_playground.overrides.json +1 -1
- data/app/pb_kits/playbook/pb_button/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_button/kit.schema.json +27 -31
- data/app/pb_kits/playbook/pb_caption/kit.schema.json +7 -17
- data/app/pb_kits/playbook/pb_card/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_card/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_checkbox/docs/_playground.json +1 -6
- data/app/pb_kits/playbook/pb_checkbox/kit.schema.json +5 -10
- data/app/pb_kits/playbook/pb_contact/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_contact/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_copy_button/docs/_playground.json +1 -5
- data/app/pb_kits/playbook/pb_copy_button/kit.schema.json +5 -10
- data/app/pb_kits/playbook/pb_currency/docs/_playground.json +1 -1
- data/app/pb_kits/playbook/pb_currency/kit.schema.json +2 -6
- data/app/pb_kits/playbook/pb_dashboard_value/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_dashboard_value/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_date/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date/kit.schema.json +7 -16
- data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +1 -4
- data/app/pb_kits/playbook/pb_date_picker/kit.schema.json +14 -32
- data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date_range_inline/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_date_time/docs/_playground.json +1 -2
- data/app/pb_kits/playbook/pb_date_time/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_detail/docs/_playground.json +1 -2
- data/app/pb_kits/playbook/pb_detail/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_dialog/docs/_playground.json +1 -1
- data/app/pb_kits/playbook/pb_dialog/kit.schema.json +9 -22
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_distribution_bar/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_dropdown/docs/_playground.json +2 -7
- data/app/pb_kits/playbook/pb_dropdown/kit.schema.json +8 -18
- data/app/pb_kits/playbook/pb_empty_state/docs/_playground.json +1 -1
- data/app/pb_kits/playbook/pb_empty_state/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_file_upload/docs/_playground.json +2 -3
- data/app/pb_kits/playbook/pb_file_upload/kit.schema.json +3 -8
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_playground.json +4 -4
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/kit.schema.json +3 -6
- data/app/pb_kits/playbook/pb_flex/docs/_playground.json +0 -3
- data/app/pb_kits/playbook/pb_flex/kit.schema.json +12 -27
- data/app/pb_kits/playbook/pb_form/kit.schema.json +6 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_playground.json +0 -3
- data/app/pb_kits/playbook/pb_form_pill/kit.schema.json +3 -6
- data/app/pb_kits/playbook/pb_full_screen/docs/_playground.json +3 -3
- data/app/pb_kits/playbook/pb_full_screen/kit.schema.json +4 -8
- data/app/pb_kits/playbook/pb_hashtag/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_hashtag/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_highlight/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_icon/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_icon/kit.schema.json +13 -30
- data/app/pb_kits/playbook/pb_icon_circle/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_icon_circle/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.json +2 -3
- data/app/pb_kits/playbook/pb_icon_stat_value/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_image/_image.tsx +2 -2
- data/app/pb_kits/playbook/pb_image/docs/_playground.json +27 -27
- data/app/pb_kits/playbook/pb_image/kit.schema.json +24 -56
- data/app/pb_kits/playbook/pb_label_value/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_label_value/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_layout/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_layout/kit.schema.json +20 -43
- data/app/pb_kits/playbook/pb_legend/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_legend/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +2 -2
- data/app/pb_kits/playbook/pb_link/docs/_playground.json +3 -6
- data/app/pb_kits/playbook/pb_link/kit.schema.json +6 -14
- data/app/pb_kits/playbook/pb_list/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_list/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.json +1 -0
- data/app/pb_kits/playbook/pb_loading_inline/kit.schema.json +1 -4
- data/app/pb_kits/playbook/pb_map/kit.schema.json +6 -4
- data/app/pb_kits/playbook/pb_message/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +1 -4
- data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.json +1 -2
- data/app/pb_kits/playbook/pb_multiple_users/kit.schema.json +11 -19
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_multiple_users_stacked/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_nav/docs/_playground.json +0 -2
- data/app/pb_kits/playbook/pb_nav/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_overlay/docs/_playground.json +3 -3
- data/app/pb_kits/playbook/pb_overlay/kit.schema.json +12 -22
- data/app/pb_kits/playbook/pb_pagination/kit.schema.json +3 -6
- data/app/pb_kits/playbook/pb_passphrase/docs/_playground.json +4 -6
- data/app/pb_kits/playbook/pb_passphrase/kit.schema.json +5 -10
- data/app/pb_kits/playbook/pb_pb_gauge_chart/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_person_contact/docs/_playground.json +3 -3
- data/app/pb_kits/playbook/pb_person_contact/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/kit.schema.json +3 -6
- data/app/pb_kits/playbook/pb_popover/docs/_playground.json +2 -1
- data/app/pb_kits/playbook/pb_popover/kit.schema.json +9 -18
- data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_progress_pills/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.json +2 -3
- data/app/pb_kits/playbook/pb_progress_simple/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.json +2 -9
- data/app/pb_kits/playbook/pb_rich_text_editor/kit.schema.json +9 -18
- data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_selectable_card/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_selectable_card_icon/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_source/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_source/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_star_rating/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_star_rating/kit.schema.json +7 -15
- data/app/pb_kits/playbook/pb_stat_change/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_stat_change/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_stat_value/docs/_playground.json +1 -3
- data/app/pb_kits/playbook/pb_stat_value/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_table/docs/_playground.json +1 -5
- data/app/pb_kits/playbook/pb_table/kit.schema.json +11 -28
- data/app/pb_kits/playbook/pb_text_input/docs/_playground.json +0 -3
- data/app/pb_kits/playbook/pb_text_input/kit.schema.json +9 -22
- data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +1 -4
- data/app/pb_kits/playbook/pb_time/kit.schema.json +5 -13
- data/app/pb_kits/playbook/pb_time_picker/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_time_picker/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_time_range_inline/kit.schema.json +5 -12
- data/app/pb_kits/playbook/pb_title/kit.schema.json +10 -23
- data/app/pb_kits/playbook/pb_title_count/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_title_count/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_tooltip/docs/_playground.json +1 -5
- data/app/pb_kits/playbook/pb_tooltip/kit.schema.json +5 -10
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -4
- data/app/pb_kits/playbook/pb_user/docs/_playground.json +1 -3
- data/app/pb_kits/playbook/pb_user/kit.schema.json +9 -19
- data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_weekday_stacked/kit.schema.json +1 -2
- data/dist/ai/all-schemas.json +374 -869
- data/dist/ai/forms.json +1 -1
- data/dist/ai/index.json +2 -10
- data/dist/ai/kits/advanced_table.schema.json +16 -36
- data/dist/ai/kits/avatar.schema.json +9 -21
- data/dist/ai/kits/background.schema.json +3 -10
- data/dist/ai/kits/badge.schema.json +12 -26
- data/dist/ai/kits/body.schema.json +5 -14
- data/dist/ai/kits/button.schema.json +25 -29
- data/dist/ai/kits/caption.schema.json +7 -17
- data/dist/ai/kits/card.schema.json +1 -2
- data/dist/ai/kits/checkbox.schema.json +5 -10
- data/dist/ai/kits/contact.schema.json +1 -2
- data/dist/ai/kits/copy_button.schema.json +5 -10
- data/dist/ai/kits/currency.schema.json +2 -6
- data/dist/ai/kits/dashboard_value.schema.json +2 -4
- data/dist/ai/kits/date.schema.json +6 -15
- data/dist/ai/kits/date_picker.schema.json +13 -31
- data/dist/ai/kits/date_range_inline.schema.json +1 -2
- data/dist/ai/kits/date_time.schema.json +1 -2
- data/dist/ai/kits/date_time_stacked.schema.json +1 -2
- data/dist/ai/kits/detail.schema.json +1 -2
- data/dist/ai/kits/dialog.schema.json +9 -22
- data/dist/ai/kits/distribution_bar.schema.json +1 -2
- data/dist/ai/kits/dropdown.schema.json +8 -18
- data/dist/ai/kits/empty_state.schema.json +1 -2
- data/dist/ai/kits/file_upload.schema.json +3 -8
- data/dist/ai/kits/fixed_confirmation_toast.schema.json +3 -6
- data/dist/ai/kits/flex.schema.json +12 -27
- data/dist/ai/kits/form.schema.json +6 -1
- data/dist/ai/kits/form_pill.schema.json +3 -6
- data/dist/ai/kits/full_screen.schema.json +4 -8
- data/dist/ai/kits/hashtag.schema.json +1 -2
- data/dist/ai/kits/highlight.schema.json +1 -2
- data/dist/ai/kits/icon.schema.json +13 -30
- data/dist/ai/kits/icon_circle.schema.json +1 -2
- data/dist/ai/kits/icon_stat_value.schema.json +2 -4
- data/dist/ai/kits/image.schema.json +24 -56
- data/dist/ai/kits/label_value.schema.json +1 -2
- data/dist/ai/kits/layout.schema.json +20 -43
- data/dist/ai/kits/legend.schema.json +1 -2
- data/dist/ai/kits/link.schema.json +6 -14
- data/dist/ai/kits/list.schema.json +1 -2
- data/dist/ai/kits/loading_inline.schema.json +1 -4
- data/dist/ai/kits/map.schema.json +7 -4
- data/dist/ai/kits/message.schema.json +1 -2
- data/dist/ai/kits/multiple_users.schema.json +11 -19
- data/dist/ai/kits/multiple_users_stacked.schema.json +1 -2
- data/dist/ai/kits/nav.schema.json +2 -4
- data/dist/ai/kits/overlay.schema.json +12 -22
- data/dist/ai/kits/pagination.schema.json +3 -6
- data/dist/ai/kits/passphrase.schema.json +5 -10
- data/dist/ai/kits/pb_gauge_chart.schema.json +1 -2
- data/dist/ai/kits/person_contact.schema.json +1 -2
- data/dist/ai/kits/phone_number_input.schema.json +3 -6
- data/dist/ai/kits/popover.schema.json +8 -17
- data/dist/ai/kits/progress_pills.schema.json +1 -2
- data/dist/ai/kits/progress_simple.schema.json +2 -4
- data/dist/ai/kits/rich_text_editor.schema.json +9 -18
- data/dist/ai/kits/selectable_card.schema.json +2 -4
- data/dist/ai/kits/selectable_card_icon.schema.json +1 -2
- data/dist/ai/kits/source.schema.json +1 -2
- data/dist/ai/kits/star_rating.schema.json +7 -15
- data/dist/ai/kits/stat_change.schema.json +1 -2
- data/dist/ai/kits/stat_value.schema.json +1 -2
- data/dist/ai/kits/table.schema.json +11 -28
- data/dist/ai/kits/text_input.schema.json +9 -22
- data/dist/ai/kits/time.schema.json +4 -12
- data/dist/ai/kits/time_picker.schema.json +1 -2
- data/dist/ai/kits/time_range_inline.schema.json +5 -12
- data/dist/ai/kits/title.schema.json +10 -23
- data/dist/ai/kits/title_count.schema.json +1 -2
- data/dist/ai/kits/tooltip.schema.json +5 -10
- data/dist/ai/kits/user.schema.json +9 -19
- data/dist/ai/kits/weekday_stacked.schema.json +1 -2
- data/dist/ai/visual-index.json +1 -1
- data/dist/chunks/{_typeahead-CkiAf8zx.js → _typeahead-C3MN3apM.js} +1 -1
- data/dist/chunks/vendor.js +2 -2
- data/dist/menu.yml +1 -1
- 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/changelog_generator.rb +21 -47
- data/lib/playbook/connect_message_generator.rb +2 -15
- data/lib/playbook/version.rb +1 -1
- metadata +2 -8
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi_select_all.jsx +0 -82
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi_select_all.md +0 -3
- data/app/pb_kits/playbook/pb_button/docs/_button_options_rails.md +0 -5
- data/app/pb_kits/playbook/pb_button/docs/_button_options_react.md +0 -9
- data/app/pb_kits/playbook/pb_lightbox/kit.schema.json +0 -84
- data/dist/ai/kits/lightbox.schema.json +0 -86
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f9b4809fd0eaae6c78ca3e4974fcabf0c17d94bab7faa4135164e4361aa4ea62
|
|
4
|
+
data.tar.gz: f5bd947efc3cb866c9482b95335493a56ab2b18c029cc90cd9b8329b661d1314
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ba18f2d83a5827bdb20795ad4e9212b1d1c4c17c0dcf5acf5f0962454d1541e93f84eaa05ddac530b755afaed46fefed09c06b1d1f81b6fb4b62e5520de036ba
|
|
7
|
+
data.tar.gz: a40e05d0bf5d74b2e58932249fca3b9087a8bf18360ce3fda60e63afaa05af9c31dd0124671ac04707ef00b0e631d4151fa1d227b9aa19b32917fd6ccaa235e1
|
|
@@ -92,55 +92,43 @@ export const TableHeader = ({
|
|
|
92
92
|
</tr>
|
|
93
93
|
))
|
|
94
94
|
|
|
95
|
-
// Empty checkbox-column cell on upper multi-header rows; checkbox only on the lowest row.
|
|
96
|
-
const renderSelectableHeaderCell = (
|
|
97
|
-
isLowestHeaderRow: boolean,
|
|
98
|
-
extraClassName?: string
|
|
99
|
-
) => (
|
|
100
|
-
<th className={classnames(customCellClassnames, "checkbox-cell-header", extraClassName)}>
|
|
101
|
-
{isLowestHeaderRow ? (
|
|
102
|
-
<Checkbox
|
|
103
|
-
checked={table?.getIsAllRowsSelected()}
|
|
104
|
-
indeterminate={table?.getIsSomeRowsSelected()}
|
|
105
|
-
onChange={table?.getToggleAllRowsSelectedHandler()}
|
|
106
|
-
/>
|
|
107
|
-
) : null}
|
|
108
|
-
</th>
|
|
109
|
-
)
|
|
110
|
-
|
|
111
95
|
const renderRegularTableHeader = () => (
|
|
112
96
|
<thead className={classes}
|
|
113
97
|
id={id}
|
|
114
98
|
ref={headerRef}
|
|
115
99
|
>
|
|
116
100
|
{renderSpacerRows()}
|
|
117
|
-
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
101
|
+
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>) => (
|
|
102
|
+
<tr key={`${headerGroup.id}-headerGroup`}>
|
|
103
|
+
{!hasAnySubRows && selectableRows && (
|
|
104
|
+
<th className={customCellClassnames}>
|
|
105
|
+
<Checkbox
|
|
106
|
+
checked={table?.getIsAllRowsSelected()}
|
|
107
|
+
indeterminate={table?.getIsSomeRowsSelected()}
|
|
108
|
+
onChange={table?.getToggleAllRowsSelectedHandler()}
|
|
109
|
+
/>
|
|
110
|
+
</th>
|
|
111
|
+
)}
|
|
112
|
+
{headerGroup.headers.map(header => {
|
|
113
|
+
const isPinnedLeft = columnPinning.left.includes(header.id)
|
|
114
|
+
return (
|
|
115
|
+
<TableHeaderCell
|
|
116
|
+
enableSorting={enableSorting}
|
|
117
|
+
enableToggleExpansion={enableToggleExpansion}
|
|
118
|
+
handleExpandOrCollapse={handleExpandOrCollapse}
|
|
119
|
+
header={header}
|
|
120
|
+
headerChildren={children}
|
|
121
|
+
isPinnedLeft={isPinnedLeft}
|
|
122
|
+
key={`${header.id}-header`}
|
|
123
|
+
loading={loading}
|
|
124
|
+
persistToggleExpansionButton={persistToggleExpansionButton}
|
|
125
|
+
sortIcon={sortIcon}
|
|
126
|
+
table={table}
|
|
127
|
+
/>
|
|
128
|
+
)
|
|
129
|
+
})}
|
|
130
|
+
</tr>
|
|
131
|
+
))}
|
|
144
132
|
</thead>
|
|
145
133
|
);
|
|
146
134
|
|
|
@@ -152,37 +140,41 @@ export const TableHeader = ({
|
|
|
152
140
|
ref={headerRef}
|
|
153
141
|
>
|
|
154
142
|
{renderSpacerRows("virtualized-header-row-header")}
|
|
155
|
-
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
143
|
+
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>) => (
|
|
144
|
+
<tr
|
|
145
|
+
className="virtualized-header-row-header"
|
|
146
|
+
key={`${headerGroup.id}-headerGroup-virtualized`}
|
|
147
|
+
>
|
|
148
|
+
{!hasAnySubRows && selectableRows && (
|
|
149
|
+
<th className={classnames(customCellClassnames, "virtualized-header-cell")}>
|
|
150
|
+
<Checkbox
|
|
151
|
+
checked={table?.getIsAllRowsSelected()}
|
|
152
|
+
indeterminate={table?.getIsSomeRowsSelected()}
|
|
153
|
+
onChange={table?.getToggleAllRowsSelectedHandler()}
|
|
154
|
+
/>
|
|
155
|
+
</th>
|
|
156
|
+
)}
|
|
157
|
+
{headerGroup.headers.map(header => {
|
|
158
|
+
const isPinnedLeft = columnPinning.left.includes(header.id)
|
|
159
|
+
return (
|
|
160
|
+
<TableHeaderCell
|
|
161
|
+
enableSorting={enableSorting}
|
|
162
|
+
enableToggleExpansion={enableToggleExpansion}
|
|
163
|
+
handleExpandOrCollapse={handleExpandOrCollapse}
|
|
164
|
+
header={header}
|
|
165
|
+
headerChildren={children}
|
|
166
|
+
isPinnedLeft={isPinnedLeft}
|
|
167
|
+
isVirtualized
|
|
168
|
+
key={`${header.id}-header-virtualized`}
|
|
169
|
+
loading={loading}
|
|
170
|
+
persistToggleExpansionButton={persistToggleExpansionButton}
|
|
171
|
+
sortIcon={sortIcon}
|
|
172
|
+
table={table}
|
|
173
|
+
/>
|
|
174
|
+
)
|
|
175
|
+
})}
|
|
176
|
+
</tr>
|
|
177
|
+
))}
|
|
186
178
|
</thead>
|
|
187
179
|
);
|
|
188
180
|
return (
|
|
@@ -1521,55 +1521,6 @@ test("single header row does not mark every column as last-header-cell", () => {
|
|
|
1521
1521
|
expect(kit.querySelector("tbody td.last-cell")).not.toBeInTheDocument()
|
|
1522
1522
|
})
|
|
1523
1523
|
|
|
1524
|
-
const selectableMultiHeaderData = MOCK_DATA_NO_SUBROWS.map((row, index) => ({
|
|
1525
|
-
...row,
|
|
1526
|
-
id: String(index + 1),
|
|
1527
|
-
}))
|
|
1528
|
-
|
|
1529
|
-
test("multi-column selectable headers keep one select-all checkbox on the lowest header row", () => {
|
|
1530
|
-
render(
|
|
1531
|
-
<AdvancedTable
|
|
1532
|
-
columnDefinitions={groupedColumnDefinitions}
|
|
1533
|
-
data={{ testid: testId }}
|
|
1534
|
-
enableToggleExpansion="none"
|
|
1535
|
-
selectableRows
|
|
1536
|
-
tableData={selectableMultiHeaderData}
|
|
1537
|
-
/>
|
|
1538
|
-
)
|
|
1539
|
-
|
|
1540
|
-
const kit = screen.getByTestId(testId)
|
|
1541
|
-
const headerRows = kit.querySelectorAll("thead tr")
|
|
1542
|
-
const checkboxHeaderCells = kit.querySelectorAll("thead th.checkbox-cell-header")
|
|
1543
|
-
const headerCheckboxes = kit.querySelectorAll("thead th.checkbox-cell-header input[type='checkbox']")
|
|
1544
|
-
|
|
1545
|
-
expect(headerRows.length).toBeGreaterThan(1)
|
|
1546
|
-
expect(checkboxHeaderCells).toHaveLength(headerRows.length)
|
|
1547
|
-
expect(headerCheckboxes).toHaveLength(1)
|
|
1548
|
-
|
|
1549
|
-
const lowestHeaderRow = headerRows[headerRows.length - 1]
|
|
1550
|
-
expect(lowestHeaderRow.querySelector("th.checkbox-cell-header input[type='checkbox']")).toBeInTheDocument()
|
|
1551
|
-
expect(headerRows[0].querySelector("th.checkbox-cell-header input[type='checkbox']")).not.toBeInTheDocument()
|
|
1552
|
-
})
|
|
1553
|
-
|
|
1554
|
-
test("single-header selectable rows still render one select-all checkbox", () => {
|
|
1555
|
-
render(
|
|
1556
|
-
<AdvancedTable
|
|
1557
|
-
columnDefinitions={columnDefinitions}
|
|
1558
|
-
data={{ testid: testId }}
|
|
1559
|
-
enableToggleExpansion="none"
|
|
1560
|
-
selectableRows
|
|
1561
|
-
tableData={selectableMultiHeaderData}
|
|
1562
|
-
/>
|
|
1563
|
-
)
|
|
1564
|
-
|
|
1565
|
-
const kit = screen.getByTestId(testId)
|
|
1566
|
-
const headerRows = kit.querySelectorAll("thead tr")
|
|
1567
|
-
const headerCheckboxes = kit.querySelectorAll("thead th.checkbox-cell-header input[type='checkbox']")
|
|
1568
|
-
|
|
1569
|
-
expect(headerRows).toHaveLength(1)
|
|
1570
|
-
expect(headerCheckboxes).toHaveLength(1)
|
|
1571
|
-
})
|
|
1572
|
-
|
|
1573
1524
|
const visibilityColumnDefinitions = [
|
|
1574
1525
|
{
|
|
1575
1526
|
accessor: "year",
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
The `columnVisibilityControl` prop can also be used with multi-header columns as shown.
|
|
1
|
+
The `columnVisibilityControl` prop can also be used with multi-header columns as shown.
|
|
2
|
+
|
|
3
|
+
`showSelectAll` updates every leaf column in the popover that can be hidden. Group checkboxes stay in sync with that selection. Hiding every column in a group keeps the subheader rows, so the table header does not collapse. With controlled state, persist `value` from the `onChange` updater so each leaf id stays stored.
|
|
@@ -1,179 +1,60 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
1
|
import React from "react"
|
|
3
2
|
import AdvancedTable from '../../pb_advanced_table/_advanced_table'
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const columnDefinitions = [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
completedClasses: String(3 + index),
|
|
63
|
-
classCompletionRate: `${30 + index}%`,
|
|
64
|
-
graduatedStudents: String(19 + index),
|
|
65
|
-
}
|
|
66
|
-
})
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
const buildTableDataSubrows = (tableId) => (
|
|
70
|
-
Array.from({ length: 5 }, (_, index) => {
|
|
71
|
-
const year = 2020 + index
|
|
72
|
-
const quarter = `Q${(index % 4) + 1}`
|
|
73
|
-
|
|
74
|
-
return {
|
|
75
|
-
id: `${tableId}-${year}`,
|
|
76
|
-
year: String(year),
|
|
77
|
-
quarter,
|
|
78
|
-
month: months[index],
|
|
79
|
-
day: String(index + 1),
|
|
80
|
-
newEnrollments: String(20 + index),
|
|
81
|
-
scheduledMeetings: String(10 + index),
|
|
82
|
-
attendanceRate: `${50 + index}%`,
|
|
83
|
-
completedClasses: String(3 + index),
|
|
84
|
-
classCompletionRate: `${30 + index}%`,
|
|
85
|
-
graduatedStudents: String(19 + index),
|
|
86
|
-
children: [
|
|
87
|
-
{
|
|
88
|
-
id: `${tableId}-${year}-q${(index % 4) + 1}`,
|
|
89
|
-
quarter,
|
|
90
|
-
month: months[index],
|
|
91
|
-
day: String(index + 1),
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
}
|
|
95
|
-
})
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
const standardAllData = buildTableDataSubrows("standard_multi_column_all")
|
|
99
|
-
const standardNoneData = buildTableData("standard_multi_column_none")
|
|
100
|
-
const segmentedAllData = buildTableDataSubrows("segmented_multi_column_all")
|
|
101
|
-
const segmentedNoneData = buildTableData("segmented_multi_column_none")
|
|
102
|
-
|
|
103
|
-
const AdvancedTableSelectableRows = (props) => (
|
|
104
|
-
<div>
|
|
105
|
-
<Title
|
|
106
|
-
marginBottom="sm"
|
|
107
|
-
size={4}
|
|
108
|
-
tag="h4"
|
|
109
|
-
text="Standard AdvancedTable"
|
|
110
|
-
/>
|
|
111
|
-
|
|
112
|
-
<Caption
|
|
113
|
-
text="Multi-column headers with selectable rows and expandable subrows — Standard / Enable Toggle Expansion All"
|
|
114
|
-
/>
|
|
115
|
-
<AdvancedTable
|
|
116
|
-
columnDefinitions={columnDefinitions}
|
|
117
|
-
enableToggleExpansion="all"
|
|
118
|
-
marginBottom="md"
|
|
119
|
-
onRowSelectionChange={(selectedRows) => console.log(selectedRows)}
|
|
120
|
-
selectableRows
|
|
121
|
-
subRowHeaders={subRowHeaders}
|
|
122
|
-
tableData={standardAllData}
|
|
123
|
-
{...props}
|
|
124
|
-
/>
|
|
125
|
-
|
|
126
|
-
<Caption
|
|
127
|
-
text="Multi-column headers with selectable rows — Standard / Enable Toggle Expansion None"
|
|
128
|
-
/>
|
|
129
|
-
<AdvancedTable
|
|
130
|
-
columnDefinitions={columnDefinitions}
|
|
131
|
-
enableToggleExpansion="none"
|
|
132
|
-
onRowSelectionChange={(selectedRows) => console.log(selectedRows)}
|
|
133
|
-
selectableRows
|
|
134
|
-
tableData={standardNoneData}
|
|
135
|
-
{...props}
|
|
136
|
-
/>
|
|
137
|
-
|
|
138
|
-
<Title
|
|
139
|
-
marginBottom="sm"
|
|
140
|
-
marginTop="xl"
|
|
141
|
-
size={4}
|
|
142
|
-
tag="h4"
|
|
143
|
-
text="Segmented AdvancedTable"
|
|
144
|
-
/>
|
|
145
|
-
|
|
146
|
-
<Caption
|
|
147
|
-
text="Multi-column headers with selectable rows and expandable subrows — Subcomponent / Enable Toggle Expansion All"
|
|
148
|
-
/>
|
|
149
|
-
<AdvancedTable
|
|
150
|
-
columnDefinitions={columnDefinitions}
|
|
151
|
-
enableToggleExpansion="all"
|
|
152
|
-
marginBottom="md"
|
|
153
|
-
onRowSelectionChange={(selectedRows) => console.log(selectedRows)}
|
|
154
|
-
selectableRows
|
|
155
|
-
tableData={segmentedAllData}
|
|
156
|
-
{...props}
|
|
157
|
-
>
|
|
158
|
-
<AdvancedTable.Header />
|
|
159
|
-
<AdvancedTable.Body subRowHeaders={subRowHeaders} />
|
|
160
|
-
</AdvancedTable>
|
|
161
|
-
|
|
162
|
-
<Caption
|
|
163
|
-
text="Multi-column headers with selectable rows — Subcomponent / Enable Toggle Expansion None"
|
|
164
|
-
/>
|
|
165
|
-
<AdvancedTable
|
|
166
|
-
columnDefinitions={columnDefinitions}
|
|
167
|
-
enableToggleExpansion="none"
|
|
168
|
-
onRowSelectionChange={(selectedRows) => console.log(selectedRows)}
|
|
169
|
-
selectableRows
|
|
170
|
-
tableData={segmentedNoneData}
|
|
171
|
-
{...props}
|
|
172
|
-
>
|
|
173
|
-
<AdvancedTable.Header />
|
|
174
|
-
<AdvancedTable.Body subRowHeaders={subRowHeaders} />
|
|
175
|
-
</AdvancedTable>
|
|
176
|
-
</div>
|
|
177
|
-
)
|
|
178
|
-
|
|
179
|
-
export default AdvancedTableSelectableRows
|
|
3
|
+
import MOCK_DATA from "./advanced_table_mock_data_with_id.json"
|
|
4
|
+
|
|
5
|
+
const AdvancedTableSelectableRows = (props) => {
|
|
6
|
+
const columnDefinitions = [
|
|
7
|
+
{
|
|
8
|
+
accessor: "year",
|
|
9
|
+
label: "Year",
|
|
10
|
+
cellAccessors: ["quarter", "month", "day"],
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
accessor: "newEnrollments",
|
|
14
|
+
label: "New Enrollments",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
accessor: "scheduledMeetings",
|
|
18
|
+
label: "Scheduled Meetings",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
accessor: "attendanceRate",
|
|
22
|
+
label: "Attendance Rate",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
accessor: "completedClasses",
|
|
26
|
+
label: "Completed Classes",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
accessor: "classCompletionRate",
|
|
30
|
+
label: "Class Completion Rate",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
accessor: "graduatedStudents",
|
|
34
|
+
label: "Graduated Students",
|
|
35
|
+
},
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
//Render the subRow header rows
|
|
39
|
+
const subRowHeaders = ["Quarter", "Month", "Day"]
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
<AdvancedTable
|
|
45
|
+
columnDefinitions={columnDefinitions}
|
|
46
|
+
enableToggleExpansion="all"
|
|
47
|
+
onRowSelectionChange={(selectedRows) => console.log(selectedRows)}
|
|
48
|
+
selectableRows
|
|
49
|
+
tableData={MOCK_DATA}
|
|
50
|
+
|
|
51
|
+
{...props}
|
|
52
|
+
>
|
|
53
|
+
<AdvancedTable.Header />
|
|
54
|
+
<AdvancedTable.Body subRowHeaders={subRowHeaders}/>
|
|
55
|
+
</AdvancedTable>
|
|
56
|
+
</div>
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export default AdvancedTableSelectableRows
|
|
@@ -7,24 +7,18 @@
|
|
|
7
7
|
"subRowHeaders": "AdvancedTable.Body.props"
|
|
8
8
|
},
|
|
9
9
|
"defaults": {
|
|
10
|
-
"
|
|
10
|
+
"columnGroupBorderColor": "none",
|
|
11
11
|
"enableToggleExpansion": "header",
|
|
12
|
-
"enableSortingRemoval": false,
|
|
13
12
|
"fullWidthCell": false,
|
|
14
13
|
"groupSeparators": false,
|
|
15
|
-
"initialLoadingRowsCount": 10,
|
|
16
14
|
"inlineRowLoading": false,
|
|
17
15
|
"loading": false,
|
|
18
16
|
"maxHeight": "auto",
|
|
19
|
-
"pagination": false,
|
|
20
17
|
"responsive": "scroll",
|
|
21
18
|
"scrollBarNone": false,
|
|
22
19
|
"selectableRows": false,
|
|
23
20
|
"showActionsBar": true,
|
|
24
21
|
"persistToggleExpansionButton": false,
|
|
25
|
-
"sortParentOnly": false,
|
|
26
|
-
"toggleExpansionIcon": "arrows-from-line",
|
|
27
|
-
"virtualizedRows": false,
|
|
28
22
|
"collapsibleTrail": true,
|
|
29
23
|
"columnVisibilityControl": {
|
|
30
24
|
"default": true
|
|
@@ -88,7 +88,6 @@ examples:
|
|
|
88
88
|
- advanced_table_column_visibility_with_state: Column Visibility Control With State
|
|
89
89
|
- advanced_table_column_visibility_custom: Column Visibility Control with Custom Dropdown
|
|
90
90
|
- advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
|
|
91
|
-
- advanced_table_column_visibility_multi_select_all: Column Visibility Control with Select All and Multi-Header Columns
|
|
92
91
|
- advanced_table_grouped_headers_composition: Grouped headers, custom headers, sort, and pinned rows
|
|
93
92
|
- advanced_table_scrollbar_none: Advanced Table Scrollbar None
|
|
94
93
|
- advanced_table_row_styling: Row Styling
|
|
@@ -34,7 +34,6 @@ export { default as AdvancedTableColumnBorderColor} from './_advanced_table_colu
|
|
|
34
34
|
export { default as AdvancedTableColumnVisibility } from './_advanced_table_column_visibility.jsx'
|
|
35
35
|
export { default as AdvancedTableColumnVisibilityCustom } from './_advanced_table_column_visibility_custom.jsx'
|
|
36
36
|
export { default as AdvancedTableColumnVisibilityMulti } from './_advanced_table_column_visibility_multi.jsx'
|
|
37
|
-
export { default as AdvancedTableColumnVisibilityMultiSelectAll } from './_advanced_table_column_visibility_multi_select_all.jsx'
|
|
38
37
|
export { default as AdvancedTableColumnVisibilityWithState } from './_advanced_table_column_visibility_with_state.jsx'
|
|
39
38
|
export { default as AdvancedTablePinnedRows } from './_advanced_table_pinned_rows.jsx'
|
|
40
39
|
export { default as AdvancedTableScrollbarNone} from './_advanced_table_scrollbar_none.jsx'
|
|
@@ -21,8 +21,7 @@
|
|
|
21
21
|
"type": "boolean",
|
|
22
22
|
"platforms": [
|
|
23
23
|
"react"
|
|
24
|
-
]
|
|
25
|
-
"default": false
|
|
24
|
+
]
|
|
26
25
|
},
|
|
27
26
|
"columnDefinitions": {
|
|
28
27
|
"type": "array",
|
|
@@ -37,28 +36,15 @@
|
|
|
37
36
|
"react",
|
|
38
37
|
"rails"
|
|
39
38
|
],
|
|
40
|
-
"values":
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"rails": [
|
|
50
|
-
"text_lt_default",
|
|
51
|
-
"text_lt_light",
|
|
52
|
-
"text_lt_lighter",
|
|
53
|
-
"text_dk_default",
|
|
54
|
-
"text_dk_light",
|
|
55
|
-
"text_dk_lighter",
|
|
56
|
-
"none"
|
|
57
|
-
]
|
|
58
|
-
},
|
|
59
|
-
"default": {
|
|
60
|
-
"rails": "none"
|
|
61
|
-
}
|
|
39
|
+
"values": [
|
|
40
|
+
"text_lt_default",
|
|
41
|
+
"text_lt_light",
|
|
42
|
+
"text_lt_lighter",
|
|
43
|
+
"text_dk_default",
|
|
44
|
+
"text_dk_light",
|
|
45
|
+
"text_dk_lighter"
|
|
46
|
+
],
|
|
47
|
+
"default": "none"
|
|
62
48
|
},
|
|
63
49
|
"columnVisibilityControl": {
|
|
64
50
|
"type": "GenericObject",
|
|
@@ -89,8 +75,7 @@
|
|
|
89
75
|
"type": "boolean",
|
|
90
76
|
"platforms": [
|
|
91
77
|
"react"
|
|
92
|
-
]
|
|
93
|
-
"default": false
|
|
78
|
+
]
|
|
94
79
|
},
|
|
95
80
|
"expandedControl": {
|
|
96
81
|
"type": "GenericObject",
|
|
@@ -130,8 +115,7 @@
|
|
|
130
115
|
"type": "number",
|
|
131
116
|
"platforms": [
|
|
132
117
|
"react"
|
|
133
|
-
]
|
|
134
|
-
"default": 10
|
|
118
|
+
]
|
|
135
119
|
},
|
|
136
120
|
"inlineRowLoading": {
|
|
137
121
|
"type": "boolean",
|
|
@@ -186,8 +170,7 @@
|
|
|
186
170
|
"type": "boolean",
|
|
187
171
|
"platforms": [
|
|
188
172
|
"react"
|
|
189
|
-
]
|
|
190
|
-
"default": false
|
|
173
|
+
]
|
|
191
174
|
},
|
|
192
175
|
"paginationProps": {
|
|
193
176
|
"type": "GenericObject",
|
|
@@ -263,8 +246,7 @@
|
|
|
263
246
|
"type": "boolean",
|
|
264
247
|
"platforms": [
|
|
265
248
|
"react"
|
|
266
|
-
]
|
|
267
|
-
"default": false
|
|
249
|
+
]
|
|
268
250
|
},
|
|
269
251
|
"stickyLeftColumn": {
|
|
270
252
|
"type": "array",
|
|
@@ -296,8 +278,7 @@
|
|
|
296
278
|
"type": "string | string[]",
|
|
297
279
|
"platforms": [
|
|
298
280
|
"react"
|
|
299
|
-
]
|
|
300
|
-
"default": "arrows-from-line"
|
|
281
|
+
]
|
|
301
282
|
},
|
|
302
283
|
"onRowSelectionChange": {
|
|
303
284
|
"type": "function",
|
|
@@ -315,8 +296,7 @@
|
|
|
315
296
|
"type": "boolean",
|
|
316
297
|
"platforms": [
|
|
317
298
|
"react"
|
|
318
|
-
]
|
|
319
|
-
"default": false
|
|
299
|
+
]
|
|
320
300
|
},
|
|
321
301
|
"enableSorting": {
|
|
322
302
|
"type": "boolean",
|