playbook_ui 16.1.0.pre.alpha.play277814027 → 16.1.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 +2 -12
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -4
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +0 -33
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -51
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -34
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -19
- data/app/pb_kits/playbook/pb_background/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_background/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +5 -14
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +6 -8
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -6
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +2 -37
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -6
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -4
- data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +2 -2
- data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +0 -6
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +0 -94
- data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +1 -5
- data/app/pb_kits/playbook/pb_dropdown/index.js +4 -59
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +0 -3
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +1 -2
- data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +1 -1
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -2
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +9 -16
- data/app/pb_kits/playbook/pb_filter/filter.rb +2 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +1 -5
- data/app/pb_kits/playbook/pb_form/pb_form_validation.js +2 -9
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +5 -5
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +4 -4
- data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +0 -4
- data/app/pb_kits/playbook/pb_icon/icon.rb +1 -6
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +33 -35
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx +1 -1
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md +1 -1
- data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +7 -51
- data/app/pb_kits/playbook/pb_multiple_users/multiple_users.rb +0 -1
- data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +5 -20
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +0 -1
- data/app/pb_kits/playbook/pb_passphrase/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_passphrase/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_passphrase/passphrase.rb +0 -2
- data/app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx +1 -30
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +0 -3
- 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 +3 -34
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +6 -33
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +0 -3
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +0 -5
- data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.test.js +18 -33
- data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +11 -39
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb +3 -3
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx +0 -3
- data/app/pb_kits/playbook/pb_textarea/docs/example.yml +1 -4
- data/app/pb_kits/playbook/pb_textarea/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_textarea/index.ts +5 -12
- data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +14 -30
- data/app/pb_kits/playbook/pb_textarea/textarea.rb +0 -36
- data/app/pb_kits/playbook/pb_textarea/textarea.test.js +1 -18
- data/app/pb_kits/playbook/pb_time_picker/_time_picker.tsx +11 -97
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx +2 -5
- data/app/pb_kits/playbook/pb_time_picker/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_time_picker/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_time_picker/time_picker.rb +0 -3
- data/app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx +1 -47
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +1 -24
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -2
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +1 -4
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -4
- data/dist/chunks/{_pb_line_graph-BgKF_zz1.js → _pb_line_graph-hxi01lk7.js} +1 -1
- data/dist/chunks/_typeahead-BgLnlhzP.js +1 -0
- data/dist/chunks/{globalProps-BhVYCqRf.js → globalProps-DgYwLYNx.js} +1 -1
- data/dist/chunks/{lib-DD34ZrWL.js → lib-NLxTo8OB.js} +1 -1
- data/dist/chunks/vendor.js +3 -3
- data/dist/menu.yml +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/align_content.rb +3 -13
- data/lib/playbook/align_items.rb +3 -13
- data/lib/playbook/align_self.rb +3 -13
- data/lib/playbook/display.rb +0 -5
- data/lib/playbook/flex.rb +3 -13
- data/lib/playbook/flex_direction.rb +3 -13
- data/lib/playbook/flex_grow.rb +3 -13
- data/lib/playbook/flex_shrink.rb +3 -13
- data/lib/playbook/flex_wrap.rb +3 -13
- data/lib/playbook/forms/builder/phone_number_field.rb +0 -9
- data/lib/playbook/justify_content.rb +3 -13
- data/lib/playbook/justify_self.rb +3 -13
- data/lib/playbook/order.rb +3 -13
- data/lib/playbook/spacing.rb +9 -39
- data/lib/playbook/text_align.rb +3 -13
- data/lib/playbook/truncate.rb +1 -1
- data/lib/playbook/version.rb +2 -2
- data/lib/playbook/vertical_align.rb +3 -13
- data/lib/playbook/z_index.rb +0 -5
- metadata +6 -72
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.jsx +0 -71
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.md +0 -4
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.html.erb +0 -64
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.md +0 -18
- data/app/pb_kits/playbook/pb_background/docs/_background_responsive.jsx +0 -30
- data/app/pb_kits/playbook/pb_background/docs/_background_responsive.md +0 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_rails.md +0 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_react.md +0 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.html.erb +0 -52
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.jsx +0 -72
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.md +0 -5
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height.jsx +0 -33
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.html.erb +0 -20
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.md +0 -8
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_react.md +0 -8
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.html.erb +0 -9
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.jsx +0 -33
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.md +0 -3
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb +0 -74
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.jsx +0 -87
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md +0 -3
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.html.erb +0 -30
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.html.erb +0 -7
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.jsx +0 -24
- data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.md +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.html.erb +0 -5
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.jsx +0 -14
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.md +0 -3
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx +0 -35
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md +0 -3
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +0 -10
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +0 -21
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +0 -3
- data/app/pb_kits/playbook/pb_table/docs/_sections.yml +0 -68
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md +0 -1
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.html.erb +0 -39
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.md +0 -3
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.html.erb +0 -5
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.jsx +0 -25
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.md +0 -3
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb +0 -6
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx +0 -16
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md +0 -3
- data/app/pb_kits/playbook/utilities/test/globalProps/borderRadius.test.js +0 -33
- data/app/pb_kits/playbook/utilities/test/globalProps/bottom.test.js +0 -60
- data/app/pb_kits/playbook/utilities/test/globalProps/cursor.test.js +0 -42
- data/app/pb_kits/playbook/utilities/test/globalProps/dark.test.js +0 -33
- data/app/pb_kits/playbook/utilities/test/globalProps/gap.test.js +0 -87
- data/app/pb_kits/playbook/utilities/test/globalProps/globalProps.integration.test.js +0 -936
- data/app/pb_kits/playbook/utilities/test/globalProps/height.test.js +0 -68
- data/app/pb_kits/playbook/utilities/test/globalProps/htmlOptions.test.js +0 -510
- data/app/pb_kits/playbook/utilities/test/globalProps/left.test.js +0 -60
- data/app/pb_kits/playbook/utilities/test/globalProps/lineHeight.test.js +0 -33
- data/app/pb_kits/playbook/utilities/test/globalProps/margin.test.js +0 -95
- data/app/pb_kits/playbook/utilities/test/globalProps/numberSpacing.test.js +0 -33
- data/app/pb_kits/playbook/utilities/test/globalProps/overflow.test.js +0 -68
- data/app/pb_kits/playbook/utilities/test/globalProps/padding.test.js +0 -95
- data/app/pb_kits/playbook/utilities/test/globalProps/position.test.js +0 -33
- data/app/pb_kits/playbook/utilities/test/globalProps/right.test.js +0 -60
- data/app/pb_kits/playbook/utilities/test/globalProps/shadow.test.js +0 -33
- data/app/pb_kits/playbook/utilities/test/globalProps/textAlign.test.js +0 -41
- data/app/pb_kits/playbook/utilities/test/globalProps/top.test.js +0 -60
- data/app/pb_kits/playbook/utilities/test/globalProps/verticalAlign.test.js +0 -40
- data/app/pb_kits/playbook/utilities/test/globalProps/width.test.js +0 -66
- data/app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js +0 -50
- data/dist/chunks/_typeahead-CWA5wlah.js +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ec3832a5a9d172af005bea73161b414b33cce3a4b9351680a75be21567f70f1f
|
|
4
|
+
data.tar.gz: 9b88540268a3c696e5e810642e48ceeededa245b3ce5a3e46e23562b85e0a339
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad0694a212c9b5924b651c30038152649a9f779f11ea81ad5970315aefcb3a14534654c366049d8ba1d725180c907a9611c3b7c4840ec4cd7f971a11599d135f
|
|
7
|
+
data.tar.gz: 7c69619d23491fde3af8952c6e899afffff9c65df6a42d81c938fc6fd37c08e90706bb7eb36f9d9dc6267c83826851424964c5adbc4ac4bd67a04e4294947b02
|
|
@@ -66,18 +66,8 @@ const TableCellRenderer = ({
|
|
|
66
66
|
// Find the "owning" colDefinition by accessor. Needed for multi column logic
|
|
67
67
|
const colDef = findColumnDefByAccessor(columnDefinitions ?? [], column.id)
|
|
68
68
|
const cellAlignment = colDef?.columnStyling?.cellAlignment ?? "right"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const cellFontColorValue = colDef?.columnStyling?.fontColor
|
|
72
|
-
const cellFontColor = typeof cellFontColorValue === 'function'
|
|
73
|
-
? cellFontColorValue(row)
|
|
74
|
-
: cellFontColorValue
|
|
75
|
-
|
|
76
|
-
const cellBackgroundColorValue = colDef?.columnStyling?.cellBackgroundColor
|
|
77
|
-
const cellBackgroundColor = typeof cellBackgroundColorValue === 'function'
|
|
78
|
-
? cellBackgroundColorValue(row)
|
|
79
|
-
: cellBackgroundColorValue
|
|
80
|
-
|
|
69
|
+
const cellFontColor = colDef?.columnStyling?.fontColor
|
|
70
|
+
const cellBackgroundColor = colDef?.columnStyling?.cellBackgroundColor
|
|
81
71
|
const paddingValue = colDef?.columnStyling?.cellPadding ?? customRowStyle?.cellPadding
|
|
82
72
|
const paddingClass = paddingValue ? `p_${paddingValue}` : undefined
|
|
83
73
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
<% if content.present? %>
|
|
12
12
|
<% content.presence %>
|
|
13
13
|
<% else %>
|
|
14
|
-
<%= pb_rails("advanced_table/table_header", props: { table_id: object.id, 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: { table_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, row_styling: object.row_styling
|
|
14
|
+
<%= pb_rails("advanced_table/table_header", props: { table_id: object.id, 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: { table_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, row_styling: object.row_styling }) %>
|
|
16
16
|
<% end %>
|
|
17
17
|
<% end %>
|
|
18
18
|
<% end %>
|
|
@@ -33,10 +33,6 @@ module Playbook
|
|
|
33
33
|
default: false
|
|
34
34
|
prop :row_styling, type: Playbook::Props::Array,
|
|
35
35
|
default: []
|
|
36
|
-
prop :inline_row_loading, type: Playbook::Props::Boolean,
|
|
37
|
-
default: false
|
|
38
|
-
prop :persist_toggle_expansion_button, type: Playbook::Props::Boolean,
|
|
39
|
-
default: false
|
|
40
36
|
|
|
41
37
|
def classname
|
|
42
38
|
additional_classes = [
|
|
@@ -920,39 +920,6 @@ test("columnStyling.backgroundColor works as excpected", () => {
|
|
|
920
920
|
expect(firstEnrollmentCell).toHaveStyle({ backgroundColor: colors.error_subtle });
|
|
921
921
|
});
|
|
922
922
|
|
|
923
|
-
test("columnStyling.cellBackgroundColor works as expected with function", () => {
|
|
924
|
-
const styledColumnDefs = [
|
|
925
|
-
{
|
|
926
|
-
accessor: "year",
|
|
927
|
-
label: "Year",
|
|
928
|
-
cellAccessors: ["quarter", "month", "day"],
|
|
929
|
-
},
|
|
930
|
-
{
|
|
931
|
-
accessor: "newEnrollments",
|
|
932
|
-
label: "New Enrollments",
|
|
933
|
-
columnStyling:{
|
|
934
|
-
cellBackgroundColor: (row) => row.original.newEnrollments > 15 ? colors.success_subtle : colors.error_subtle,
|
|
935
|
-
fontColor: (row) => row.original.newEnrollments > 15 ? colors.success : colors.error,
|
|
936
|
-
},
|
|
937
|
-
},
|
|
938
|
-
{
|
|
939
|
-
accessor: "scheduledMeetings",
|
|
940
|
-
label: "Scheduled Meetings",
|
|
941
|
-
},
|
|
942
|
-
];
|
|
943
|
-
|
|
944
|
-
render(
|
|
945
|
-
<AdvancedTable
|
|
946
|
-
columnDefinitions={styledColumnDefs}
|
|
947
|
-
data={{ testid: testId }}
|
|
948
|
-
tableData={MOCK_DATA}
|
|
949
|
-
/>
|
|
950
|
-
);
|
|
951
|
-
|
|
952
|
-
const firstEnrollmentCell = screen.getAllByText("20")[0].closest("td");
|
|
953
|
-
expect(firstEnrollmentCell).toHaveStyle({ backgroundColor: colors.success_subtle, color: colors.success });
|
|
954
|
-
});
|
|
955
|
-
|
|
956
923
|
test("columnStyling.headerBackgroundColor works as excpected", () => {
|
|
957
924
|
const styledColumnDefs = [
|
|
958
925
|
{
|
|
@@ -6,9 +6,9 @@ In the first Advanced Table in this code example, 2021 has an empty children arr
|
|
|
6
6
|
This prop is set to `false` by default.
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### persistToggleExpansion
|
|
10
10
|
The `persistToggleExpansionButton` is a boolean prop that renders the toggle-all icon in the top left header cell for complex datasets with empty `children` arrays and advanced querying logic explained in the preceeding doc example. Your logic may require an additional query helper file to update data specifically from requerying via toggle all buttons.
|
|
11
11
|
|
|
12
12
|
In the second and third Advanced Tables in this code example, all 3 rows have empty children arrays. The second Advanced Table demonstrates that the toggle all button does not render (prior to an initial row expansion) without `persistToggleExpansionButton` in place. The third Advanced Table shows the toggle all button due to `persistToggleExpansionButton`.
|
|
13
13
|
|
|
14
|
-
This prop is set to
|
|
14
|
+
This prop is set to false by default and should only be used in conjunction with `inlineRowLoading`.
|
|
@@ -29,7 +29,6 @@ examples:
|
|
|
29
29
|
- advanced_table_background_control_rails: Column Styling Background Color
|
|
30
30
|
- advanced_table_background_colors_rails: Column Styling Individual Cell Background Color
|
|
31
31
|
- advanced_table_column_border_color_rails: Column Group Border Color
|
|
32
|
-
- advanced_table_inline_row_loading_rails: Inline Row Loading
|
|
33
32
|
|
|
34
33
|
|
|
35
34
|
react:
|
|
@@ -78,7 +77,6 @@ examples:
|
|
|
78
77
|
- advanced_table_column_styling: Column Styling
|
|
79
78
|
- advanced_table_column_styling_column_headers: Column Styling with Multiple Headers
|
|
80
79
|
- advanced_table_column_styling_background: Column Styling Background Color
|
|
81
|
-
- advanced_table_column_styling_background_custom: Column Styling Background Color (Custom)
|
|
82
80
|
- advanced_table_column_styling_background_multi: Column Styling Background Color with Multiple Headers
|
|
83
81
|
- advanced_table_padding_control: Padding Control using Column Styling
|
|
84
82
|
- advanced_table_column_border_color: Column Group Border Color
|
|
@@ -47,5 +47,4 @@ export { default as AdvancedTableSortPerColumnForMultiColumn } from './_advanced
|
|
|
47
47
|
export { default as AdvancedTablePaddingControl } from './_advanced_table_padding_control.jsx'
|
|
48
48
|
export { default as AdvancedTablePaddingControlPerRow } from './_advanced_table_padding_control_per_row.jsx'
|
|
49
49
|
export { default as AdvancedTableColumnStylingBackground } from './_advanced_table_column_styling_background.jsx'
|
|
50
|
-
export { default as AdvancedTableColumnStylingBackgroundMulti } from './_advanced_table_column_styling_background_multi.jsx'
|
|
51
|
-
export { default as AdvancedTableColumnStylingBackgroundCustom } from './_advanced_table_column_styling_background_custom.jsx'
|
|
50
|
+
export { default as AdvancedTableColumnStylingBackgroundMulti } from './_advanced_table_column_styling_background_multi.jsx'
|
|
@@ -25,8 +25,6 @@ module Playbook
|
|
|
25
25
|
default: false
|
|
26
26
|
prop :row_styling, type: Playbook::Props::Array,
|
|
27
27
|
default: []
|
|
28
|
-
prop :inline_row_loading, type: Playbook::Props::Boolean,
|
|
29
|
-
default: false
|
|
30
28
|
|
|
31
29
|
def flatten_columns(columns)
|
|
32
30
|
columns.flat_map do |col|
|
|
@@ -71,24 +69,7 @@ module Playbook
|
|
|
71
69
|
end
|
|
72
70
|
|
|
73
71
|
# Additional class and data attributes needed for toggle logic
|
|
74
|
-
output << pb_rails("advanced_table/table_row", props: { table_id: table_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, row_styling: row_styling, last_row: last_row, immediate_parent_row_id: immediate_parent_row_id
|
|
75
|
-
|
|
76
|
-
# Render inline loading row when inline_row_loading is enabled and row has empty children
|
|
77
|
-
if inline_row_loading
|
|
78
|
-
children = row_children_for(row)
|
|
79
|
-
if children.is_a?(::Array) && children.empty?
|
|
80
|
-
max_depth = cell_accessors_length(column_definitions)
|
|
81
|
-
if current_depth < max_depth
|
|
82
|
-
loading_row_data_attributes = {
|
|
83
|
-
advanced_table_content: "#{new_ancestor_ids.join('-')}-loading",
|
|
84
|
-
row_depth: current_depth + 1,
|
|
85
|
-
row_parent: "#{table_id}_#{row.object_id}",
|
|
86
|
-
inline_loading_row: true,
|
|
87
|
-
}
|
|
88
|
-
output << render_inline_loading_row(leaf_columns.length, current_depth, loading_row_data_attributes)
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|
|
72
|
+
output << pb_rails("advanced_table/table_row", props: { table_id: table_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, row_styling: row_styling, last_row: last_row, immediate_parent_row_id: immediate_parent_row_id })
|
|
92
73
|
|
|
93
74
|
if row[:children].present?
|
|
94
75
|
row[:children].each do |child_row|
|
|
@@ -123,37 +104,6 @@ module Playbook
|
|
|
123
104
|
""
|
|
124
105
|
end
|
|
125
106
|
|
|
126
|
-
# 3 helper methods for inline row loading
|
|
127
|
-
def render_inline_loading_row(column_count, depth, data_attributes)
|
|
128
|
-
padding_left = depth.zero? ? "0.5em" : "#{(depth + 1) * 2}em"
|
|
129
|
-
|
|
130
|
-
content_tag(:tr, class: "toggle-content inline-loading-row", data: data_attributes) do
|
|
131
|
-
content_tag(:td, colspan: column_count, style: "padding-left: #{padding_left}") do
|
|
132
|
-
pb_rails("loading_inline")
|
|
133
|
-
end
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
def row_children_for(row)
|
|
138
|
-
if row.respond_to?(:children)
|
|
139
|
-
row.children
|
|
140
|
-
elsif row.respond_to?(:[])
|
|
141
|
-
row[:children] || row["children"]
|
|
142
|
-
end
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def cell_accessors_length(col_defs)
|
|
146
|
-
first_col = col_defs.first
|
|
147
|
-
return 0 unless first_col
|
|
148
|
-
|
|
149
|
-
accessors = if first_col.respond_to?(:cellAccessors)
|
|
150
|
-
first_col.cellAccessors
|
|
151
|
-
elsif first_col.respond_to?(:[])
|
|
152
|
-
first_col[:cellAccessors] || first_col["cellAccessors"]
|
|
153
|
-
end
|
|
154
|
-
accessors&.length || 0
|
|
155
|
-
end
|
|
156
|
-
|
|
157
107
|
private
|
|
158
108
|
|
|
159
109
|
def has_grouped_headers?
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<%= object.render_select_all_checkbox %>
|
|
15
15
|
<% end %>
|
|
16
16
|
<% end %>
|
|
17
|
-
<% if object.
|
|
17
|
+
<% if object.enable_toggle_expansion == "header" || object.enable_toggle_expansion == "all" %>
|
|
18
18
|
<% if loading %>
|
|
19
19
|
<div class="<%= object.loading ? 'loading-toggle-icon' : '' %>"></div>
|
|
20
20
|
<% else %>
|
|
@@ -19,12 +19,6 @@ module Playbook
|
|
|
19
19
|
default: false
|
|
20
20
|
prop :show_actions_bar, type: Playbook::Props::Boolean,
|
|
21
21
|
default: true
|
|
22
|
-
prop :inline_row_loading, type: Playbook::Props::Boolean,
|
|
23
|
-
default: false
|
|
24
|
-
prop :persist_toggle_expansion_button, type: Playbook::Props::Boolean,
|
|
25
|
-
default: false
|
|
26
|
-
prop :table_data, type: Playbook::Props::Array,
|
|
27
|
-
default: []
|
|
28
22
|
|
|
29
23
|
def classname
|
|
30
24
|
additional_classes = []
|
|
@@ -141,20 +135,6 @@ module Playbook
|
|
|
141
135
|
original_def.dig(:column_styling, :header_font_color)
|
|
142
136
|
end
|
|
143
137
|
|
|
144
|
-
# Check if any row in the table has children
|
|
145
|
-
def has_any_sub_rows?
|
|
146
|
-
return false if table_data.blank?
|
|
147
|
-
|
|
148
|
-
table_data.any? { |row| row_has_children?(row) }
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
# Determines if the toggle-all button should be shown in the header based on inline row loading and persist toggle expansion button props
|
|
152
|
-
def show_toggle_all_button?
|
|
153
|
-
return false unless enable_toggle_expansion == "header" || enable_toggle_expansion == "all"
|
|
154
|
-
|
|
155
|
-
has_any_sub_rows? || (inline_row_loading && persist_toggle_expansion_button)
|
|
156
|
-
end
|
|
157
|
-
|
|
158
138
|
# Check if header has custom background color
|
|
159
139
|
def has_custom_header_background_color?(cell)
|
|
160
140
|
cell[:header_background_color].present?
|
|
@@ -337,20 +317,6 @@ module Playbook
|
|
|
337
317
|
end
|
|
338
318
|
nil
|
|
339
319
|
end
|
|
340
|
-
|
|
341
|
-
# 2 inline row loading helper methods
|
|
342
|
-
def row_has_children?(row)
|
|
343
|
-
children = row_children_for(row)
|
|
344
|
-
children.present? && children.is_a?(::Array) && !children.empty?
|
|
345
|
-
end
|
|
346
|
-
|
|
347
|
-
def row_children_for(row)
|
|
348
|
-
if row.respond_to?(:children)
|
|
349
|
-
row.children
|
|
350
|
-
elsif row.respond_to?(:[])
|
|
351
|
-
row[:children] || row["children"]
|
|
352
|
-
end
|
|
353
|
-
end
|
|
354
320
|
end
|
|
355
321
|
end
|
|
356
322
|
end
|
|
@@ -33,8 +33,6 @@ module Playbook
|
|
|
33
33
|
default: false
|
|
34
34
|
prop :immediate_parent_row_id, type: Playbook::Props::String,
|
|
35
35
|
default: ""
|
|
36
|
-
prop :inline_row_loading, type: Playbook::Props::Boolean,
|
|
37
|
-
default: false
|
|
38
36
|
|
|
39
37
|
def data
|
|
40
38
|
Hash(prop(:data)).merge(table_data_attributes)
|
|
@@ -188,23 +186,6 @@ module Playbook
|
|
|
188
186
|
end
|
|
189
187
|
end
|
|
190
188
|
|
|
191
|
-
# Determines if the row should show an expand button (true if row has children or inline_row_loading true and row has empty children array)
|
|
192
|
-
def show_expand_button?
|
|
193
|
-
children = row_children
|
|
194
|
-
return true if children.present?
|
|
195
|
-
return true if inline_row_loading && children.is_a?(::Array) && children.empty?
|
|
196
|
-
|
|
197
|
-
false
|
|
198
|
-
end
|
|
199
|
-
|
|
200
|
-
def row_children
|
|
201
|
-
if row.respond_to?(:children)
|
|
202
|
-
row.children
|
|
203
|
-
elsif row.respond_to?(:[])
|
|
204
|
-
row[:children] || row["children"]
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
189
|
private
|
|
209
190
|
|
|
210
191
|
def custom_renderer_value(column, index)
|
|
@@ -7,4 +7,3 @@ export { default as BackgroundStatusSubtle } from './_background_status_subtle.j
|
|
|
7
7
|
export { default as BackgroundCategory } from './_background_category.jsx'
|
|
8
8
|
export { default as BackgroundSize } from './_background_size.jsx'
|
|
9
9
|
export { default as BackgroundOverlay } from './_background_overlay.jsx'
|
|
10
|
-
export { default as BackgroundResponsive } from './_background_responsive.jsx'
|
|
@@ -40,7 +40,7 @@ type DatePickerProps = {
|
|
|
40
40
|
maxDate: string,
|
|
41
41
|
minDate: string,
|
|
42
42
|
name: string,
|
|
43
|
-
pickerId
|
|
43
|
+
pickerId?: string,
|
|
44
44
|
placeholder?: string,
|
|
45
45
|
positionElement?: HTMLElement | null,
|
|
46
46
|
scrollContainer?: string,
|
|
@@ -196,8 +196,6 @@ const DatePicker = (props: DatePickerProps): React.ReactElement => {
|
|
|
196
196
|
|
|
197
197
|
const angleDown = getAllIcons()["angleDown"].icon as unknown as { [key: string]: SVGElement }
|
|
198
198
|
|
|
199
|
-
const errorId = error ? `${pickerId}-error` : undefined
|
|
200
|
-
|
|
201
199
|
return (
|
|
202
200
|
<div
|
|
203
201
|
{...ariaProps}
|
|
@@ -213,18 +211,14 @@ const DatePicker = (props: DatePickerProps): React.ReactElement => {
|
|
|
213
211
|
>
|
|
214
212
|
|
|
215
213
|
{!hideLabel && (
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
/>
|
|
221
|
-
</label>
|
|
214
|
+
<Caption
|
|
215
|
+
className="pb_date_picker_kit_label"
|
|
216
|
+
text={label}
|
|
217
|
+
/>
|
|
222
218
|
)}
|
|
223
219
|
<>
|
|
224
220
|
<div className="date_picker_input_wrapper">
|
|
225
221
|
<input
|
|
226
|
-
aria-describedby={errorId}
|
|
227
|
-
aria-invalid={!!error}
|
|
228
222
|
autoComplete="off"
|
|
229
223
|
className="date_picker_input"
|
|
230
224
|
disabled={disableInput}
|
|
@@ -238,9 +232,6 @@ const DatePicker = (props: DatePickerProps): React.ReactElement => {
|
|
|
238
232
|
|
|
239
233
|
{error &&
|
|
240
234
|
<Body
|
|
241
|
-
aria={{ atomic: "true", live: "polite" }}
|
|
242
|
-
htmlOptions={{ role: "alert" }}
|
|
243
|
-
id={errorId}
|
|
244
235
|
status="negative"
|
|
245
236
|
text={error}
|
|
246
237
|
variant={null}
|
|
@@ -135,8 +135,6 @@
|
|
|
135
135
|
position: sticky;
|
|
136
136
|
top: 0;
|
|
137
137
|
background-color: $white;
|
|
138
|
-
border-top-left-radius: $border_radius_md;
|
|
139
|
-
border-top-right-radius: $border_radius_md;
|
|
140
138
|
z-index: $z_8;
|
|
141
139
|
}
|
|
142
140
|
|
|
@@ -258,7 +256,7 @@
|
|
|
258
256
|
}
|
|
259
257
|
&.full_height_left {
|
|
260
258
|
justify-content: flex-start;
|
|
261
|
-
|
|
259
|
+
|
|
262
260
|
.pb_dialog {
|
|
263
261
|
border-radius: 0;
|
|
264
262
|
height: 100%;
|
|
@@ -304,7 +302,7 @@
|
|
|
304
302
|
|
|
305
303
|
&.full_height_center {
|
|
306
304
|
justify-content: center;
|
|
307
|
-
|
|
305
|
+
|
|
308
306
|
.pb_dialog {
|
|
309
307
|
border-radius: 0;
|
|
310
308
|
height: 100%;
|
|
@@ -348,7 +346,7 @@
|
|
|
348
346
|
|
|
349
347
|
&.full_height_right {
|
|
350
348
|
justify-content: flex-end;
|
|
351
|
-
|
|
349
|
+
|
|
352
350
|
.pb_dialog {
|
|
353
351
|
border-radius: 0;
|
|
354
352
|
height: 100%;
|
|
@@ -419,7 +417,7 @@
|
|
|
419
417
|
margin: unset !important;
|
|
420
418
|
margin-right: auto !important;
|
|
421
419
|
}
|
|
422
|
-
|
|
420
|
+
|
|
423
421
|
.pb_dialog {
|
|
424
422
|
border-radius: 0;
|
|
425
423
|
height: 100% !important;
|
|
@@ -465,7 +463,7 @@
|
|
|
465
463
|
|
|
466
464
|
&.full_height_center {
|
|
467
465
|
justify-content: center;
|
|
468
|
-
|
|
466
|
+
|
|
469
467
|
.pb_dialog {
|
|
470
468
|
border-radius: 0;
|
|
471
469
|
height: 100% !important;
|
|
@@ -512,7 +510,7 @@
|
|
|
512
510
|
margin: unset !important;
|
|
513
511
|
margin-left: auto !important;
|
|
514
512
|
}
|
|
515
|
-
|
|
513
|
+
|
|
516
514
|
.pb_dialog {
|
|
517
515
|
border-radius: 0;
|
|
518
516
|
height: 100% !important;
|
|
@@ -36,8 +36,6 @@ type DropdownProps = {
|
|
|
36
36
|
blankSelection?: string;
|
|
37
37
|
children?: React.ReactChild[] | React.ReactChild | React.ReactElement[];
|
|
38
38
|
className?: string;
|
|
39
|
-
clearable?: boolean;
|
|
40
|
-
constrainHeight?: boolean;
|
|
41
39
|
customQuickPickDates?: CustomQuickPickDates;
|
|
42
40
|
formPillProps?: GenericObject;
|
|
43
41
|
dark?: boolean;
|
|
@@ -51,7 +49,6 @@ type DropdownProps = {
|
|
|
51
49
|
multiSelect?: boolean;
|
|
52
50
|
onSelect?: (arg: GenericObject) => null;
|
|
53
51
|
options?: GenericObject;
|
|
54
|
-
placeholder?: string;
|
|
55
52
|
separators?: boolean;
|
|
56
53
|
variant?: "default" | "subtle" | "quickpick";
|
|
57
54
|
rangeEndsToday?: boolean;
|
|
@@ -77,8 +74,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
|
|
|
77
74
|
blankSelection = '',
|
|
78
75
|
children,
|
|
79
76
|
className,
|
|
80
|
-
clearable = true,
|
|
81
|
-
constrainHeight = false,
|
|
82
77
|
customQuickPickDates,
|
|
83
78
|
dark = false,
|
|
84
79
|
data = {},
|
|
@@ -92,7 +87,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
|
|
|
92
87
|
formPillProps,
|
|
93
88
|
onSelect,
|
|
94
89
|
options,
|
|
95
|
-
placeholder,
|
|
96
90
|
rangeEndsToday = false,
|
|
97
91
|
controlsStartId,
|
|
98
92
|
controlsEndId,
|
|
@@ -217,34 +211,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
|
|
|
217
211
|
}
|
|
218
212
|
}, [isDropDownClosed]);
|
|
219
213
|
|
|
220
|
-
// Auto-position dropdown above/below based on available space
|
|
221
|
-
useEffect(() => {
|
|
222
|
-
if (!isDropDownClosed && dropdownContainerRef.current) {
|
|
223
|
-
const container = dropdownContainerRef.current;
|
|
224
|
-
const wrapper = container.closest('.dropdown_wrapper') as HTMLElement;
|
|
225
|
-
if (!wrapper) return;
|
|
226
|
-
|
|
227
|
-
const wrapperRect = wrapper.getBoundingClientRect();
|
|
228
|
-
const h = container.getBoundingClientRect().height || container.scrollHeight;
|
|
229
|
-
const spaceBelow = window.innerHeight - wrapperRect.bottom;
|
|
230
|
-
const spaceAbove = wrapperRect.top;
|
|
231
|
-
|
|
232
|
-
// If not enough space below but enough space above, position above
|
|
233
|
-
if (spaceBelow < h + 10 && spaceAbove >= h + 10) {
|
|
234
|
-
container.style.top = "auto";
|
|
235
|
-
container.style.bottom = "calc(100% + 5px)";
|
|
236
|
-
container.style.marginTop = "0";
|
|
237
|
-
container.style.marginBottom = "0";
|
|
238
|
-
} else {
|
|
239
|
-
// Default: position below
|
|
240
|
-
container.style.top = "";
|
|
241
|
-
container.style.bottom = "";
|
|
242
|
-
container.style.marginTop = "";
|
|
243
|
-
container.style.marginBottom = "";
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}, [isDropDownClosed, dropdownContainerRef]);
|
|
247
|
-
|
|
248
214
|
|
|
249
215
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
250
216
|
setFilterItem(e.target.value);
|
|
@@ -409,7 +375,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
|
|
|
409
375
|
value={{
|
|
410
376
|
activeStyle,
|
|
411
377
|
autocomplete,
|
|
412
|
-
clearable,
|
|
413
378
|
dropdownContainerRef,
|
|
414
379
|
filteredOptions,
|
|
415
380
|
filterItem,
|
|
@@ -461,8 +426,8 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
|
|
|
461
426
|
</>
|
|
462
427
|
) : (
|
|
463
428
|
<>
|
|
464
|
-
<DropdownTrigger
|
|
465
|
-
<DropdownContainer
|
|
429
|
+
<DropdownTrigger />
|
|
430
|
+
<DropdownContainer>
|
|
466
431
|
{optionsWithBlankSelection &&
|
|
467
432
|
optionsWithBlankSelection?.map((option: GenericObject) => (
|
|
468
433
|
<DropdownOption key={option.id}
|
|
@@ -21,10 +21,7 @@ examples:
|
|
|
21
21
|
- dropdown_default_value: Default Value
|
|
22
22
|
- dropdown_multi_select_with_default: Multi Select Default Value
|
|
23
23
|
- dropdown_blank_selection: Blank Selection
|
|
24
|
-
- dropdown_with_placeholder: Placeholder
|
|
25
24
|
- dropdown_separators_hidden: Separators Hidden
|
|
26
|
-
- dropdown_with_clearable: Clearable
|
|
27
|
-
- dropdown_with_constrain_height_rails: Constrain Height
|
|
28
25
|
- dropdown_quickpick_rails: Quick Pick Variant
|
|
29
26
|
- dropdown_quickpick_range_end_rails: Quick Pick Variant (Range Ends Today)
|
|
30
27
|
- dropdown_quickpick_default_dates: Quick Pick Variant (Default Dates)
|
|
@@ -55,10 +52,7 @@ examples:
|
|
|
55
52
|
- dropdown_default_value: Default Value
|
|
56
53
|
- dropdown_multi_select_with_default: Multi Select Default Value
|
|
57
54
|
- dropdown_blank_selection: Blank Selection
|
|
58
|
-
- dropdown_with_placeholder: Placeholder
|
|
59
55
|
- dropdown_clear_selection: Clear Selection
|
|
60
|
-
- dropdown_with_clearable: Clearable
|
|
61
|
-
- dropdown_with_constrain_height: Constrain Height
|
|
62
56
|
- dropdown_separators_hidden: Separators Hidden
|
|
63
57
|
- dropdown_with_external_control: useDropdown Hook
|
|
64
58
|
- dropdown_quickpick: Quick Pick Variant
|
|
@@ -11,7 +11,6 @@ export { default as DropdownSubcomponentStructure } from './_dropdown_subcompone
|
|
|
11
11
|
export { default as DropdownError } from './_dropdown_error.jsx'
|
|
12
12
|
export { default as DropdownDefaultValue } from './_dropdown_default_value.jsx'
|
|
13
13
|
export { default as DropdownBlankSelection } from './_dropdown_blank_selection.jsx'
|
|
14
|
-
export { default as DropdownWithPlaceholder } from './_dropdown_with_placeholder.jsx'
|
|
15
14
|
export { default as DropdownClearSelection } from './_dropdown_clear_selection.jsx'
|
|
16
15
|
export { default as DropdownSubtleVariant } from './_dropdown_subtle_variant.jsx'
|
|
17
16
|
export { default as DropdownSeparatorsHidden } from './_dropdown_separators_hidden.jsx'
|
|
@@ -28,6 +27,4 @@ export { default as DropdownQuickpick } from './_dropdown_quickpick.jsx'
|
|
|
28
27
|
export { default as DropdownQuickpickRangeEnd } from './_dropdown_quickpick_range_end.jsx'
|
|
29
28
|
export { default as DropdownQuickpickDefaultDates } from './_dropdown_quickpick_default_dates.jsx'
|
|
30
29
|
export { default as DropdownQuickpickWithDatePickers } from './_dropdown_quickpick_with_date_pickers.jsx'
|
|
31
|
-
export { default as DropdownQuickpickCustom } from './_dropdown_quickpick_custom.jsx'
|
|
32
|
-
export { default as DropdownWithClearable } from './_dropdown_with_clearable.jsx'
|
|
33
|
-
export { default as DropdownWithConstrainHeight } from './_dropdown_with_constrain_height.jsx'
|
|
30
|
+
export { default as DropdownQuickpickCustom } from './_dropdown_quickpick_custom.jsx'
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
<%= content.presence %>
|
|
19
19
|
<%= pb_rails("body", props: { status: "negative", text: object.error }) %>
|
|
20
20
|
<% else %>
|
|
21
|
-
<%= pb_rails("dropdown/dropdown_trigger", props:{ autocomplete: object.autocomplete, multi_select:object.multi_select
|
|
22
|
-
<%= pb_rails("dropdown/dropdown_container", props: { searchbar: object.searchbar
|
|
21
|
+
<%= pb_rails("dropdown/dropdown_trigger", props:{ autocomplete: object.autocomplete, multi_select:object.multi_select }) %>
|
|
22
|
+
<%= pb_rails("dropdown/dropdown_container", props: { searchbar: object.searchbar }) do %>
|
|
23
23
|
<% if options_with_blank.present? %>
|
|
24
24
|
<% options_with_blank.each do |option| %>
|
|
25
25
|
<%= pb_rails("dropdown/dropdown_option", props: {option: option}) %>
|
|
@@ -36,8 +36,6 @@ module Playbook
|
|
|
36
36
|
default: ""
|
|
37
37
|
prop :controls_start_id, type: Playbook::Props::String,
|
|
38
38
|
default: ""
|
|
39
|
-
prop :clearable, type: Playbook::Props::Boolean,
|
|
40
|
-
default: true
|
|
41
39
|
prop :start_date_id, type: Playbook::Props::String,
|
|
42
40
|
default: "start_date_id"
|
|
43
41
|
prop :start_date_name, type: Playbook::Props::String,
|
|
@@ -46,16 +44,12 @@ module Playbook
|
|
|
46
44
|
default: "end_date_id"
|
|
47
45
|
prop :end_date_name, type: Playbook::Props::String,
|
|
48
46
|
default: "end_date_name"
|
|
49
|
-
prop :placeholder, type: Playbook::Props::String
|
|
50
|
-
prop :constrain_height, type: Playbook::Props::Boolean,
|
|
51
|
-
default: false
|
|
52
47
|
|
|
53
48
|
def data
|
|
54
49
|
Hash(prop(:data)).merge(
|
|
55
50
|
pb_dropdown: true,
|
|
56
51
|
pb_dropdown_multi_select: multi_select,
|
|
57
52
|
pb_dropdown_variant: variant,
|
|
58
|
-
pb_dropdown_clearable: clearable,
|
|
59
53
|
form_pill_props: form_pill_props.to_json,
|
|
60
54
|
start_date_id: variant == "quickpick" ? start_date_id : nil,
|
|
61
55
|
end_date_id: variant == "quickpick" ? end_date_id : nil,
|