@airtable/blocks 0.0.0-experimental-f52bc4e5e-20250709 → 0.0.0-experimental-75d011284-20250904
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.
- package/dist/cjs/base/assert_run_context.js +12 -0
- package/dist/cjs/base/index.js +30 -30
- package/dist/cjs/base/models/abstract_model_with_async_data.js +154 -237
- package/dist/cjs/base/models/base.js +188 -267
- package/dist/cjs/base/models/create_aggregators.js +29 -46
- package/dist/cjs/base/models/cursor.js +206 -294
- package/dist/cjs/base/models/field.js +307 -395
- package/dist/cjs/base/models/grouped_record_query_result.js +219 -338
- package/dist/cjs/base/models/linked_records_query_result.js +450 -625
- package/dist/cjs/base/models/models.js +19 -22
- package/dist/cjs/base/models/mutations.js +267 -293
- package/dist/cjs/base/models/object_pool.js +117 -156
- package/dist/cjs/base/models/record.js +191 -256
- package/dist/cjs/base/models/record_coloring.js +6 -6
- package/dist/cjs/base/models/record_query_result.js +351 -435
- package/dist/cjs/base/models/record_store.js +403 -753
- package/dist/cjs/base/models/session.js +125 -153
- package/dist/cjs/base/models/table.js +457 -605
- package/dist/cjs/base/models/table_or_view_query_result.js +656 -920
- package/dist/cjs/base/models/view.js +284 -389
- package/dist/cjs/base/models/view_data_store.js +218 -356
- package/dist/cjs/base/models/view_metadata_query_result.js +109 -157
- package/dist/cjs/base/perform_record_action.js +89 -131
- package/dist/cjs/base/sdk.js +129 -184
- package/dist/cjs/base/settings_button.js +54 -74
- package/dist/cjs/base/types/airtable_interface.js +1 -1
- package/dist/cjs/base/types/mutations.js +5 -11
- package/dist/cjs/base/types/undo_redo.js +1 -1
- package/dist/cjs/base/types/view.js +1 -1
- package/dist/cjs/base/ui/base_provider.js +6 -8
- package/dist/cjs/base/ui/baymax_utils.js +436 -108
- package/dist/cjs/base/ui/block_wrapper.js +81 -106
- package/dist/cjs/base/ui/box.js +34 -60
- package/dist/cjs/base/ui/button.js +44 -74
- package/dist/cjs/base/ui/cell_renderer.js +132 -189
- package/dist/cjs/base/ui/choice_token.js +25 -42
- package/dist/cjs/base/ui/collaborator_token.js +31 -53
- package/dist/cjs/base/ui/color_palette.js +130 -173
- package/dist/cjs/base/ui/color_palette_synced.js +41 -70
- package/dist/cjs/base/ui/confirmation_dialog.js +70 -120
- package/dist/cjs/base/ui/control_sizes.js +24 -22
- package/dist/cjs/base/ui/create_detect_element_resize.js +6 -10
- package/dist/cjs/base/ui/css_helpers.js +1 -1
- package/dist/cjs/base/ui/dialog.js +57 -98
- package/dist/cjs/base/ui/dialog_close_button.js +52 -98
- package/dist/cjs/base/ui/expand_record.js +1 -2
- package/dist/cjs/base/ui/expand_record_list.js +3 -4
- package/dist/cjs/base/ui/expand_record_picker_async.js +28 -57
- package/dist/cjs/base/ui/field_icon.js +15 -33
- package/dist/cjs/base/ui/field_picker.js +25 -70
- package/dist/cjs/base/ui/field_picker_synced.js +18 -40
- package/dist/cjs/base/ui/form_field.js +27 -55
- package/dist/cjs/base/ui/geometry/geometry.js +5 -5
- package/dist/cjs/base/ui/geometry/point.js +10 -12
- package/dist/cjs/base/ui/geometry/rect.js +36 -52
- package/dist/cjs/base/ui/geometry/size.js +10 -12
- package/dist/cjs/base/ui/global_alert.js +31 -52
- package/dist/cjs/base/ui/heading.js +45 -94
- package/dist/cjs/base/ui/icon.js +39 -59
- package/dist/cjs/base/ui/icon_config.js +6 -12
- package/dist/cjs/base/ui/initialize_block.js +16 -35
- package/dist/cjs/base/ui/input.js +62 -101
- package/dist/cjs/base/ui/input_synced.js +17 -40
- package/dist/cjs/base/ui/key_codes.js +2 -3
- package/dist/cjs/base/ui/label.js +30 -55
- package/dist/cjs/base/ui/link.js +54 -87
- package/dist/cjs/base/ui/loader.js +15 -36
- package/dist/cjs/base/ui/modal.js +88 -127
- package/dist/cjs/base/ui/model_picker_select.js +18 -44
- package/dist/cjs/base/ui/popover.js +236 -328
- package/dist/cjs/base/ui/progress_bar.js +34 -47
- package/dist/cjs/base/ui/record_card.js +389 -478
- package/dist/cjs/base/ui/record_card_list.js +150 -224
- package/dist/cjs/base/ui/select.js +60 -116
- package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +15 -39
- package/dist/cjs/base/ui/select_buttons.js +50 -83
- package/dist/cjs/base/ui/select_buttons_synced.js +17 -39
- package/dist/cjs/base/ui/select_synced.js +17 -39
- package/dist/cjs/base/ui/switch.js +42 -71
- package/dist/cjs/base/ui/switch_synced.js +16 -38
- package/dist/cjs/base/ui/synced.js +27 -48
- package/dist/cjs/base/ui/system/all_styles_set.js +4 -12
- package/dist/cjs/base/ui/system/appearance/appearance_set.js +10 -13
- package/dist/cjs/base/ui/system/appearance/background_color.js +3 -6
- package/dist/cjs/base/ui/system/appearance/border.js +3 -6
- package/dist/cjs/base/ui/system/appearance/border_radius.js +3 -6
- package/dist/cjs/base/ui/system/appearance/box_shadow.js +3 -6
- package/dist/cjs/base/ui/system/appearance/opacity.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +11 -13
- package/dist/cjs/base/ui/system/dimensions/height.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/max_height.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/max_width.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/min_height.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/min_width.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/width.js +3 -6
- package/dist/cjs/base/ui/system/display.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/align_content.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/align_items.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +11 -13
- package/dist/cjs/base/ui/system/flex_container/flex_direction.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/justify_content.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/justify_items.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/align_self.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex_basis.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex_grow.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +12 -13
- package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/justify_self.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/order.js +3 -6
- package/dist/cjs/base/ui/system/index.js +104 -416
- package/dist/cjs/base/ui/system/overflow.js +3 -6
- package/dist/cjs/base/ui/system/position/bottom.js +4 -6
- package/dist/cjs/base/ui/system/position/left.js +4 -6
- package/dist/cjs/base/ui/system/position/position.js +3 -6
- package/dist/cjs/base/ui/system/position/position_set.js +11 -13
- package/dist/cjs/base/ui/system/position/right.js +4 -6
- package/dist/cjs/base/ui/system/position/top.js +4 -6
- package/dist/cjs/base/ui/system/position/z_index.js +3 -6
- package/dist/cjs/base/ui/system/spacing/margin.js +4 -6
- package/dist/cjs/base/ui/system/spacing/padding.js +4 -6
- package/dist/cjs/base/ui/system/spacing/spacing_set.js +7 -13
- package/dist/cjs/base/ui/system/typography/font_family.js +3 -6
- package/dist/cjs/base/ui/system/typography/font_size.js +3 -6
- package/dist/cjs/base/ui/system/typography/font_style.js +3 -6
- package/dist/cjs/base/ui/system/typography/font_weight.js +3 -6
- package/dist/cjs/base/ui/system/typography/letter_spacing.js +3 -6
- package/dist/cjs/base/ui/system/typography/line_height.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_align.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_color.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_decoration.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_transform.js +3 -6
- package/dist/cjs/base/ui/system/typography/typography_set.js +15 -13
- package/dist/cjs/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
- package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +47 -87
- package/dist/cjs/base/ui/table_picker.js +18 -42
- package/dist/cjs/base/ui/table_picker_synced.js +17 -39
- package/dist/cjs/base/ui/text.js +40 -73
- package/dist/cjs/base/ui/text_button.js +51 -83
- package/dist/cjs/base/ui/theme/default_theme/button_variants.js +3 -3
- package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +51 -45
- package/dist/cjs/base/ui/theme/default_theme/heading_styles.js +1 -1
- package/dist/cjs/base/ui/theme/default_theme/index.js +9 -15
- package/dist/cjs/base/ui/theme/default_theme/input_variants.js +3 -3
- package/dist/cjs/base/ui/theme/default_theme/link_variants.js +3 -3
- package/dist/cjs/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
- package/dist/cjs/base/ui/theme/default_theme/select_variants.js +8 -17
- package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +23 -29
- package/dist/cjs/base/ui/theme/default_theme/text_button_variants.js +5 -5
- package/dist/cjs/base/ui/theme/default_theme/text_styles.js +1 -1
- package/dist/cjs/base/ui/theme/default_theme/tokens.js +14 -14
- package/dist/cjs/base/ui/theme/theme_context.js +2 -2
- package/dist/cjs/base/ui/theme/use_theme.js +2 -2
- package/dist/cjs/base/ui/tooltip.js +134 -174
- package/dist/cjs/base/ui/types/aria_props.js +1 -23
- package/dist/cjs/base/ui/types/data_attributes_prop.js +1 -18
- package/dist/cjs/base/ui/types/tooltip_anchor_props.js +1 -17
- package/dist/cjs/base/ui/ui.js +48 -49
- package/dist/cjs/base/ui/unstable_standalone_ui.js +27 -27
- package/dist/cjs/base/ui/use_base.js +1 -1
- package/dist/cjs/base/ui/use_cursor.js +5 -4
- package/dist/cjs/base/ui/use_form_field.js +1 -1
- package/dist/cjs/base/ui/use_loadable.js +25 -91
- package/dist/cjs/base/ui/use_record_action_data.js +4 -3
- package/dist/cjs/base/ui/use_records.js +9 -13
- package/dist/cjs/base/ui/use_session.js +1 -1
- package/dist/cjs/base/ui/use_settings_button.js +4 -3
- package/dist/cjs/base/ui/use_styled_system.js +7 -14
- package/dist/cjs/base/ui/use_text_color_for_background_color.js +4 -3
- package/dist/cjs/base/ui/use_view_metadata.js +4 -4
- package/dist/cjs/base/ui/use_viewport.js +2 -2
- package/dist/cjs/base/ui/view_picker.js +26 -70
- package/dist/cjs/base/ui/view_picker_synced.js +18 -40
- package/dist/cjs/base/ui/viewport_constraint.js +67 -114
- package/dist/cjs/base/ui/with_styled_system.js +25 -61
- package/dist/cjs/base/undo_redo.js +21 -32
- package/dist/cjs/base/unstable_testing_utils.js +27 -27
- package/dist/cjs/base/viewport.js +268 -312
- package/dist/cjs/injected/airtable_interface.js +4 -4
- package/dist/cjs/interface/assert_run_context.js +12 -0
- package/dist/cjs/interface/index.js +4 -18
- package/dist/cjs/interface/models/base.js +15 -34
- package/dist/cjs/interface/models/field.js +5 -19
- package/dist/cjs/interface/models/models.js +8 -7
- package/dist/cjs/interface/models/mutations.js +50 -66
- package/dist/cjs/interface/models/record.js +29 -49
- package/dist/cjs/interface/models/record_store.js +25 -57
- package/dist/cjs/interface/models/session.js +2 -16
- package/dist/cjs/interface/models/table.js +66 -95
- package/dist/cjs/interface/sdk.js +61 -87
- package/dist/cjs/interface/types/airtable_interface.js +2 -2
- package/dist/cjs/interface/types/mutations.js +3 -10
- package/dist/cjs/interface/ui/block_wrapper.js +56 -48
- package/dist/cjs/interface/ui/initialize_block.js +13 -28
- package/dist/cjs/interface/ui/ui.js +20 -19
- package/dist/cjs/interface/ui/use_base.js +1 -1
- package/dist/cjs/interface/ui/use_custom_properties.js +19 -35
- package/dist/cjs/interface/ui/use_records.js +6 -5
- package/dist/cjs/interface/ui/use_run_info.js +2 -2
- package/dist/cjs/interface/ui/use_session.js +1 -1
- package/dist/cjs/shared/color_utils.js +9 -16
- package/dist/cjs/shared/colors.js +2 -2
- package/dist/cjs/shared/error_utils.js +9 -11
- package/dist/cjs/shared/event_tracker.js +3 -3
- package/dist/cjs/shared/global_config.js +337 -449
- package/dist/cjs/shared/models/abstract_model.js +72 -97
- package/dist/cjs/shared/models/base_core.js +394 -514
- package/dist/cjs/shared/models/field_core.js +236 -279
- package/dist/cjs/shared/models/mutations_core.js +283 -379
- package/dist/cjs/shared/models/record_core.js +174 -231
- package/dist/cjs/shared/models/record_store_core.js +119 -172
- package/dist/cjs/shared/models/session_core.js +116 -170
- package/dist/cjs/shared/models/table_core.js +1258 -1501
- package/dist/cjs/shared/private_utils.js +54 -124
- package/dist/cjs/shared/sdk_core.js +68 -70
- package/dist/cjs/shared/types/field_core.js +1 -1
- package/dist/cjs/shared/types/mutation_constants.js +4 -4
- package/dist/cjs/shared/types/mutations_core.js +1 -1
- package/dist/cjs/shared/types/permission_levels.js +1 -1
- package/dist/cjs/shared/ui/global_config_synced_component_helpers.js +9 -9
- package/dist/cjs/shared/ui/loader.js +14 -35
- package/dist/cjs/shared/ui/remote_utils.js +5 -7
- package/dist/cjs/shared/ui/sdk_context.js +4 -8
- package/dist/cjs/shared/ui/use_array_identity.js +2 -2
- package/dist/cjs/shared/ui/use_base.js +6 -5
- package/dist/cjs/shared/ui/use_color_scheme.js +3 -8
- package/dist/cjs/shared/ui/use_global_config.js +5 -4
- package/dist/cjs/shared/ui/use_session.js +6 -5
- package/dist/cjs/shared/ui/use_synced.js +7 -5
- package/dist/cjs/shared/ui/use_watchable.js +13 -42
- package/dist/cjs/shared/ui/with_hooks.js +6 -13
- package/dist/cjs/shared/unstable_private_utils.js +4 -6
- package/dist/cjs/shared/warning.js +5 -5
- package/dist/cjs/shared/watchable.js +110 -176
- package/dist/cjs/stats/block_stats.js +62 -85
- package/dist/cjs/testing/base/abstract_mock_airtable_interface.js +208 -0
- package/dist/cjs/testing/interface/abstract_mock_airtable_interface.js +124 -0
- package/dist/types/src/base/assert_run_context.d.ts +2 -0
- package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
- package/dist/types/src/base/index.d.ts +1 -0
- package/dist/types/src/base/index.d.ts.map +1 -1
- package/dist/types/src/base/models/models.d.ts +1 -0
- package/dist/types/src/base/models/models.d.ts.map +1 -1
- package/dist/types/src/base/models/mutations.d.ts.map +1 -1
- package/dist/types/src/base/sdk.d.ts.map +1 -1
- package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
- package/dist/types/src/base/ui/box.d.ts.map +1 -1
- package/dist/types/src/base/ui/button.d.ts +0 -5
- package/dist/types/src/base/ui/button.d.ts.map +1 -1
- package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
- package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
- package/dist/types/src/base/ui/choice_token.d.ts +1 -21
- package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
- package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
- package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
- package/dist/types/src/base/ui/color_palette.d.ts +1 -32
- package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
- package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
- package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
- package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
- package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
- package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
- package/dist/types/src/base/ui/dialog.d.ts +1 -23
- package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
- package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
- package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
- package/dist/types/src/base/ui/field_icon.d.ts +1 -17
- package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
- package/dist/types/src/base/ui/field_picker.d.ts +0 -23
- package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
- package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/form_field.d.ts +0 -4
- package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
- package/dist/types/src/base/ui/heading.d.ts +1 -1
- package/dist/types/src/base/ui/heading.d.ts.map +1 -1
- package/dist/types/src/base/ui/icon.d.ts +0 -16
- package/dist/types/src/base/ui/icon.d.ts.map +1 -1
- package/dist/types/src/base/ui/icon_config.d.ts +50 -51
- package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
- package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
- package/dist/types/src/base/ui/input.d.ts +12 -46
- package/dist/types/src/base/ui/input.d.ts.map +1 -1
- package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/label.d.ts.map +1 -1
- package/dist/types/src/base/ui/link.d.ts +1 -5
- package/dist/types/src/base/ui/link.d.ts.map +1 -1
- package/dist/types/src/base/ui/loader.d.ts +3 -20
- package/dist/types/src/base/ui/loader.d.ts.map +1 -1
- package/dist/types/src/base/ui/modal.d.ts +1 -14
- package/dist/types/src/base/ui/modal.d.ts.map +1 -1
- package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
- package/dist/types/src/base/ui/popover.d.ts +1 -17
- package/dist/types/src/base/ui/popover.d.ts.map +1 -1
- package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
- package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
- package/dist/types/src/base/ui/record_card.d.ts +1 -23
- package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
- package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
- package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
- package/dist/types/src/base/ui/select.d.ts +0 -44
- package/dist/types/src/base/ui/select.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
- package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/switch.d.ts +0 -22
- package/dist/types/src/base/ui/switch.d.ts.map +1 -1
- package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/synced.d.ts +2 -8
- package/dist/types/src/base/ui/synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
- package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/display.d.ts +0 -1
- package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/index.d.ts +52 -52
- package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
- package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
- package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
- package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/table_picker.d.ts +0 -21
- package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
- package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/text.d.ts +0 -3
- package/dist/types/src/base/ui/text.d.ts.map +1 -1
- package/dist/types/src/base/ui/text_button.d.ts +1 -5
- package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
- package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
- package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
- package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
- package/dist/types/src/base/ui/tooltip.d.ts +0 -16
- package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
- package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
- package/dist/types/src/base/ui/ui.d.ts +1 -0
- package/dist/types/src/base/ui/ui.d.ts.map +1 -1
- package/dist/types/src/base/ui/view_picker.d.ts +0 -23
- package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
- package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
- package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
- package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
- package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
- package/dist/types/src/interface/assert_run_context.d.ts +2 -0
- package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
- package/dist/types/src/interface/index.d.ts +1 -6
- package/dist/types/src/interface/index.d.ts.map +1 -1
- package/dist/types/src/interface/models/models.d.ts +1 -0
- package/dist/types/src/interface/models/models.d.ts.map +1 -1
- package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
- package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
- package/dist/types/src/interface/ui/ui.d.ts +1 -0
- package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
- package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
- package/dist/types/src/shared/private_utils.d.ts +0 -9
- package/dist/types/src/shared/private_utils.d.ts.map +1 -1
- package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
- package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
- package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
- package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
- package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
- package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
- package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
- package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
- package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
- package/package.json +13 -13
- package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
- package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
- package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
- package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
- package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
- package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
- package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
- package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
- package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
|
@@ -1,41 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.symbol.description.js");
|
|
5
|
-
require("core-js/modules/es.array.from.js");
|
|
6
|
-
require("core-js/modules/es.object.to-string.js");
|
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
8
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
9
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
10
3
|
Object.defineProperty(exports, "__esModule", {
|
|
11
4
|
value: true
|
|
12
5
|
});
|
|
13
6
|
exports.default = void 0;
|
|
14
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
|
-
require("core-js/modules/es.array.concat.js");
|
|
16
|
-
require("core-js/modules/es.array.iterator.js");
|
|
17
|
-
require("core-js/modules/es.array.map.js");
|
|
18
|
-
require("core-js/modules/es.array.slice.js");
|
|
19
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
20
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
21
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
22
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
23
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
24
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
25
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
26
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
27
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
28
7
|
var _error_utils = require("../../shared/error_utils");
|
|
29
8
|
var _record_query_result = _interopRequireDefault(require("./record_query_result"));
|
|
30
9
|
var _object_pool = _interopRequireDefault(require("./object_pool"));
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
35
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @module @airtable/blocks/models: RecordQueryResult */ /** */
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
/** @module @airtable/blocks/models: RecordQueryResult */ /** */
|
|
12
|
+
|
|
36
13
|
/** @hidden */
|
|
37
14
|
// Even though we don't load the data, we still access it through `._data` so that
|
|
38
15
|
// we can be ensured the model hasn't been deleted.
|
|
16
|
+
|
|
39
17
|
/**
|
|
40
18
|
* Represents a group of records returned from a group query. See {@link RecordQueryResult} for main
|
|
41
19
|
* documentation.
|
|
@@ -46,354 +24,257 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
46
24
|
* @docsPath models/query results/GroupedRecordQueryResult
|
|
47
25
|
* @hidden
|
|
48
26
|
*/
|
|
49
|
-
|
|
27
|
+
class GroupedRecordQueryResult extends _record_query_result.default {
|
|
28
|
+
/** @internal */
|
|
29
|
+
static _className = 'GroupedRecordQueryResult';
|
|
30
|
+
|
|
31
|
+
/** @internal */
|
|
32
|
+
|
|
33
|
+
/** @internal */
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* This includes groupLevel for all children & parent grouped layers, the getter
|
|
37
|
+
* returns only the groupLevels for this layer.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
// This is the ordered list of groups.
|
|
50
43
|
/** @internal */
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
(0, _defineProperty2.default)(_this, "_recordIdsSet", null);
|
|
72
|
-
// lazily generated ordered array of recordIds
|
|
73
|
-
(0, _defineProperty2.default)(_this, "_orderedRecordIds", null);
|
|
74
|
-
/** @internal */
|
|
75
|
-
(0, _defineProperty2.default)(_this, "__groupedRecordQueryResultPool", void 0);
|
|
76
|
-
_this.__groupedRecordQueryResultPool = new _object_pool.default(GroupedRecordQueryResult);
|
|
77
|
-
_this._parentQueryResult = parentQueryResult;
|
|
78
|
-
_this._groupData = groupData;
|
|
79
|
-
_this._groupLevels = groupLevel;
|
|
80
|
-
var groupLevelDataSlicedForChildren = _this._groupLevels.slice(1);
|
|
81
|
-
_this._orderedChildrenGroups = groupData.groups ? groupData.groups.map(singleGroupData => {
|
|
82
|
-
var group = _this.__groupedRecordQueryResultPool.getObjectForReuse(_this, singleGroupData, groupLevelDataSlicedForChildren, normalizedOpts, sdk);
|
|
44
|
+
|
|
45
|
+
// lazily generated set of record ids
|
|
46
|
+
/** @internal */
|
|
47
|
+
_recordIdsSet = null;
|
|
48
|
+
|
|
49
|
+
// lazily generated ordered array of recordIds
|
|
50
|
+
_orderedRecordIds = null;
|
|
51
|
+
|
|
52
|
+
/** @internal */
|
|
53
|
+
|
|
54
|
+
/** @internal */
|
|
55
|
+
constructor(parentQueryResult, groupData, groupLevel, normalizedOpts, sdk) {
|
|
56
|
+
super(sdk, normalizedOpts);
|
|
57
|
+
this.__groupedRecordQueryResultPool = new _object_pool.default(GroupedRecordQueryResult);
|
|
58
|
+
this._parentQueryResult = parentQueryResult;
|
|
59
|
+
this._groupData = groupData;
|
|
60
|
+
this._groupLevels = groupLevel;
|
|
61
|
+
const groupLevelDataSlicedForChildren = this._groupLevels.slice(1);
|
|
62
|
+
this._orderedChildrenGroups = groupData.groups ? groupData.groups.map(singleGroupData => {
|
|
63
|
+
const group = this.__groupedRecordQueryResultPool.getObjectForReuse(this, singleGroupData, groupLevelDataSlicedForChildren, normalizedOpts, sdk);
|
|
83
64
|
// Don't await the loading, let others check isDataLoaded.
|
|
84
65
|
// (it doesn't take any time anyway). Loading also strong retains.
|
|
85
66
|
group.loadDataAsync();
|
|
86
67
|
return group;
|
|
87
68
|
}) : null;
|
|
88
|
-
return _this;
|
|
89
69
|
}
|
|
90
70
|
|
|
91
71
|
/**
|
|
92
72
|
* Gets children groups of this group (if any exist)
|
|
93
73
|
*/
|
|
94
|
-
(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
get: function get() {
|
|
98
|
-
return this._orderedChildrenGroups;
|
|
99
|
-
}
|
|
74
|
+
get groups() {
|
|
75
|
+
return this._orderedChildrenGroups;
|
|
76
|
+
}
|
|
100
77
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return this._data.groupLevels[0];
|
|
106
|
-
}
|
|
78
|
+
/** @internal */
|
|
79
|
+
get groupLevel() {
|
|
80
|
+
return this._data.groupLevels[0];
|
|
81
|
+
}
|
|
107
82
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return this.groupLevel.fieldId;
|
|
115
|
-
}
|
|
83
|
+
/**
|
|
84
|
+
* Gets the fieldId that this group is grouped by
|
|
85
|
+
*/
|
|
86
|
+
get fieldId() {
|
|
87
|
+
return this.groupLevel.fieldId;
|
|
88
|
+
}
|
|
116
89
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return this.parentTable.getFieldById(this.fieldId);
|
|
124
|
-
}
|
|
90
|
+
/**
|
|
91
|
+
* Gets the field that this group is grouped by
|
|
92
|
+
*/
|
|
93
|
+
get field() {
|
|
94
|
+
return this.parentTable.getFieldById(this.fieldId);
|
|
95
|
+
}
|
|
125
96
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
// TODO (SeanKeenan)
|
|
132
|
-
// getValueAsString() {
|
|
133
|
-
// }
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* @internal (since we may not be able to return parent model instances in the immutable models world)
|
|
137
|
-
* The table that records in this RecordQueryResult are part of
|
|
138
|
-
*/
|
|
139
|
-
}, {
|
|
140
|
-
key: "parentTable",
|
|
141
|
-
get: function get() {
|
|
142
|
-
return this._parentQueryResult.parentTable;
|
|
143
|
-
}
|
|
97
|
+
// TODO (SeanKeenan) This is needed because we can't always iterate down and find
|
|
98
|
+
// a record, it's possible to have "empty groups".
|
|
99
|
+
// getValue() {
|
|
100
|
+
// }
|
|
144
101
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
* @internal
|
|
149
|
-
*/
|
|
150
|
-
}, {
|
|
151
|
-
key: "_computeRecordIds",
|
|
152
|
-
value: function _computeRecordIds() {
|
|
153
|
-
// If we are a leaf node, return the raw recordIds
|
|
154
|
-
if (!this.groups) {
|
|
155
|
-
var _this$_data$groupData;
|
|
156
|
-
// Typescript can't infer if groups is empty visibleRecordIds must be populated
|
|
157
|
-
// but the extra safety isn't bad. (istanbul also can't ignore just the ??)
|
|
158
|
-
// istanbul ignore next
|
|
159
|
-
return (_this$_data$groupData = this._data.groupData.visibleRecordIds) !== null && _this$_data$groupData !== void 0 ? _this$_data$groupData : [];
|
|
160
|
-
}
|
|
102
|
+
// TODO (SeanKeenan)
|
|
103
|
+
// getValueAsString() {
|
|
104
|
+
// }
|
|
161
105
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
recordIds.push(...group.recordIds);
|
|
170
|
-
}
|
|
171
|
-
} catch (err) {
|
|
172
|
-
_iterator.e(err);
|
|
173
|
-
} finally {
|
|
174
|
-
_iterator.f();
|
|
175
|
-
}
|
|
176
|
-
return recordIds;
|
|
177
|
-
}
|
|
106
|
+
/**
|
|
107
|
+
* @internal (since we may not be able to return parent model instances in the immutable models world)
|
|
108
|
+
* The table that records in this RecordQueryResult are part of
|
|
109
|
+
*/
|
|
110
|
+
get parentTable() {
|
|
111
|
+
return this._parentQueryResult.parentTable;
|
|
112
|
+
}
|
|
178
113
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Recursively gets all recordIds in the children groups, keeping recordIds in group order
|
|
116
|
+
*
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
_computeRecordIds() {
|
|
120
|
+
// If we are a leaf node, return the raw recordIds
|
|
121
|
+
if (!this.groups) {
|
|
122
|
+
// Typescript can't infer if groups is empty visibleRecordIds must be populated
|
|
123
|
+
// but the extra safety isn't bad. (istanbul also can't ignore just the ??)
|
|
124
|
+
// istanbul ignore next
|
|
125
|
+
return this._data.groupData.visibleRecordIds ?? [];
|
|
189
126
|
}
|
|
190
127
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
*/
|
|
196
|
-
}, {
|
|
197
|
-
key: "recordIds",
|
|
198
|
-
get: function get() {
|
|
199
|
-
(0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
|
|
200
|
-
if (this._orderedRecordIds === null) {
|
|
201
|
-
this._orderedRecordIds = this._computeRecordIds();
|
|
202
|
-
}
|
|
203
|
-
return this._orderedRecordIds;
|
|
128
|
+
// Otherwise build the recordId's from children groups
|
|
129
|
+
const recordIds = [];
|
|
130
|
+
for (const group of this.groups) {
|
|
131
|
+
recordIds.push(...group.recordIds);
|
|
204
132
|
}
|
|
133
|
+
return recordIds;
|
|
134
|
+
}
|
|
205
135
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
(0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
|
|
216
|
-
return this._parentQueryResult.fields;
|
|
217
|
-
}
|
|
136
|
+
/**
|
|
137
|
+
* Anytime the recordIds to return could have changed, we clear this so that
|
|
138
|
+
* the next time the user requests recordIds it recomputes
|
|
139
|
+
*
|
|
140
|
+
* @internal
|
|
141
|
+
*/
|
|
142
|
+
_invalidateComputedRecordIds() {
|
|
143
|
+
this._orderedRecordIds = null;
|
|
144
|
+
}
|
|
218
145
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
146
|
+
/**
|
|
147
|
+
* Ordered array of all the record ids inside this group, in group order.
|
|
148
|
+
* This returns all recordIds of all children groups (in grouped order).
|
|
149
|
+
* Watchable.
|
|
150
|
+
*/
|
|
151
|
+
get recordIds() {
|
|
152
|
+
(0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
|
|
153
|
+
if (this._orderedRecordIds === null) {
|
|
154
|
+
this._orderedRecordIds = this._computeRecordIds();
|
|
227
155
|
}
|
|
156
|
+
return this._orderedRecordIds;
|
|
157
|
+
}
|
|
228
158
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
159
|
+
/**
|
|
160
|
+
* The fields that were used to create the parent RecordQueryResult that created this GroupedRecordQueryResult.
|
|
161
|
+
* This is separate from the field/fieldId property - which is the field this grouping is based upon.
|
|
162
|
+
* Null if fields were not specified, which means the RecordQueryResult
|
|
163
|
+
* will load all fields in the table.
|
|
164
|
+
*/
|
|
165
|
+
get fields() {
|
|
166
|
+
(0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
|
|
167
|
+
return this._parentQueryResult.fields;
|
|
168
|
+
}
|
|
235
169
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
case 0:
|
|
244
|
-
_context.next = 2;
|
|
245
|
-
return (0, _get2.default)((0, _getPrototypeOf2.default)(GroupedRecordQueryResult.prototype), "loadDataAsync", this).call(this);
|
|
246
|
-
case 2:
|
|
247
|
-
case "end":
|
|
248
|
-
return _context.stop();
|
|
249
|
-
}
|
|
250
|
-
}, _callee, this);
|
|
251
|
-
}));
|
|
252
|
-
function loadDataAsync() {
|
|
253
|
-
return _loadDataAsync2.apply(this, arguments);
|
|
254
|
-
}
|
|
255
|
-
return loadDataAsync;
|
|
256
|
-
}() /** @internal */)
|
|
257
|
-
}, {
|
|
258
|
-
key: "_getChangedKeysOnLoad",
|
|
259
|
-
value: function _getChangedKeysOnLoad() {
|
|
260
|
-
return this._parentQueryResult._getChangedKeysOnLoad();
|
|
261
|
-
}
|
|
170
|
+
/** @inheritdoc */
|
|
171
|
+
watch(keys, callback, context) {
|
|
172
|
+
// TODO (SeanKeenan): This provides events even if they occur outside of this group
|
|
173
|
+
// This is an issue that needs to be fixed before this API is made public
|
|
174
|
+
const validKeys = this._parentQueryResult.watch(keys, callback, context);
|
|
175
|
+
return validKeys;
|
|
176
|
+
}
|
|
262
177
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
var _loadDataAsync3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
268
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
269
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
270
|
-
case 0:
|
|
271
|
-
this._parentQueryResult.__groupedRecordQueryResultPool.registerObjectForReuseStrong(this);
|
|
272
|
-
|
|
273
|
-
// Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
|
|
274
|
-
// TODO: (SeanKeenan) At the moment this should never be relevant, because groups are recreated
|
|
275
|
-
// anytime the groups change - but this is how it should work once groups persist AND
|
|
276
|
-
// watching recordIds only changes if records in this group change.
|
|
277
|
-
// In the meantime this does ensure that a deleted GroupedRecordQuery with stale recordIds
|
|
278
|
-
// doesn't return the cached array.
|
|
279
|
-
this.watch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
|
|
280
|
-
this.watch(['recordIds'], this._invalidateRecordIdsSet, this);
|
|
281
|
-
return _context2.abrupt("return", this._getChangedKeysOnLoad());
|
|
282
|
-
case 4:
|
|
283
|
-
case "end":
|
|
284
|
-
return _context2.stop();
|
|
285
|
-
}
|
|
286
|
-
}, _callee2, this);
|
|
287
|
-
}));
|
|
288
|
-
function _loadDataAsync() {
|
|
289
|
-
return _loadDataAsync3.apply(this, arguments);
|
|
290
|
-
}
|
|
291
|
-
return _loadDataAsync;
|
|
292
|
-
}() /** @internal */)
|
|
293
|
-
}, {
|
|
294
|
-
key: "_unloadData",
|
|
295
|
-
value: function _unloadData() {
|
|
296
|
-
// Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
|
|
297
|
-
this.unwatch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
|
|
298
|
-
this.unwatch(['recordIds'], this._invalidateRecordIdsSet, this);
|
|
299
|
-
|
|
300
|
-
// Invalidate both of the caches, as this object can no longer be accessed
|
|
301
|
-
this._invalidateComputedRecordIds();
|
|
302
|
-
this._invalidateRecordIdsSet();
|
|
303
|
-
this._unloadChildrenGroupsIfNeeded();
|
|
304
|
-
this._parentQueryResult.__groupedRecordQueryResultPool.unregisterObjectForReuseStrong(this);
|
|
305
|
-
}
|
|
178
|
+
/** @inheritdoc */
|
|
179
|
+
unwatch(keys, callback, context) {
|
|
180
|
+
return this._parentQueryResult.unwatch(keys, callback, context);
|
|
181
|
+
}
|
|
306
182
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
// TODO (SeanKeenan) We don't have an actual groupId, but while id is unique; this should have id removed
|
|
312
|
-
return "".concat(this._serializedOpts, "::").concat(this.id);
|
|
313
|
-
}
|
|
183
|
+
/** @inheritdoc */
|
|
184
|
+
async loadDataAsync() {
|
|
185
|
+
await super.loadDataAsync();
|
|
186
|
+
}
|
|
314
187
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
groupLevels: this._groupLevels
|
|
335
|
-
};
|
|
336
|
-
}
|
|
188
|
+
/** @internal */
|
|
189
|
+
_getChangedKeysOnLoad() {
|
|
190
|
+
return this._parentQueryResult._getChangedKeysOnLoad();
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/** @internal */
|
|
194
|
+
async _loadDataAsync() {
|
|
195
|
+
this._parentQueryResult.__groupedRecordQueryResultPool.registerObjectForReuseStrong(this);
|
|
196
|
+
|
|
197
|
+
// Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
|
|
198
|
+
// TODO: (SeanKeenan) At the moment this should never be relevant, because groups are recreated
|
|
199
|
+
// anytime the groups change - but this is how it should work once groups persist AND
|
|
200
|
+
// watching recordIds only changes if records in this group change.
|
|
201
|
+
// In the meantime this does ensure that a deleted GroupedRecordQuery with stale recordIds
|
|
202
|
+
// doesn't return the cached array.
|
|
203
|
+
this.watch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
|
|
204
|
+
this.watch(['recordIds'], this._invalidateRecordIdsSet, this);
|
|
205
|
+
return this._getChangedKeysOnLoad();
|
|
206
|
+
}
|
|
337
207
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
208
|
+
/** @internal */
|
|
209
|
+
_unloadData() {
|
|
210
|
+
// Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
|
|
211
|
+
this.unwatch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
|
|
212
|
+
this.unwatch(['recordIds'], this._invalidateRecordIdsSet, this);
|
|
213
|
+
|
|
214
|
+
// Invalidate both of the caches, as this object can no longer be accessed
|
|
215
|
+
this._invalidateComputedRecordIds();
|
|
216
|
+
this._invalidateRecordIdsSet();
|
|
217
|
+
this._unloadChildrenGroupsIfNeeded();
|
|
218
|
+
this._parentQueryResult.__groupedRecordQueryResultPool.unregisterObjectForReuseStrong(this);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/** @internal */
|
|
222
|
+
get __poolKey() {
|
|
223
|
+
// TODO (SeanKeenan) We don't have an actual groupId, but while id is unique; this should have id removed
|
|
224
|
+
return `${this._serializedOpts}::${this.id}`;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* This model doesn't actually load data, but it does use the `_data`
|
|
229
|
+
* property so that checks for model deletion behave appropriately.
|
|
230
|
+
*
|
|
231
|
+
* This is considered deleted if the parent query result has been deleted.
|
|
232
|
+
*
|
|
233
|
+
* We return groupData, instead of precomputing all children groups because
|
|
234
|
+
* we perform the computation+caching lazily on request
|
|
235
|
+
*
|
|
236
|
+
* @internal
|
|
237
|
+
*/
|
|
238
|
+
get _dataOrNullIfDeleted() {
|
|
239
|
+
if (this._parentQueryResult._dataOrNullIfDeleted === null) {
|
|
240
|
+
return null;
|
|
343
241
|
}
|
|
242
|
+
return {
|
|
243
|
+
groupData: this._groupData,
|
|
244
|
+
groupLevels: this._groupLevels
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/** @inheritdoc */
|
|
249
|
+
get isDataLoaded() {
|
|
250
|
+
return this._parentQueryResult.isDataLoaded;
|
|
251
|
+
}
|
|
344
252
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
var _iterator2 = _createForOfIteratorHelper(this._orderedChildrenGroups),
|
|
351
|
-
_step2;
|
|
352
|
-
try {
|
|
353
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
354
|
-
var group = _step2.value;
|
|
355
|
-
group.unloadData();
|
|
356
|
-
}
|
|
357
|
-
} catch (err) {
|
|
358
|
-
_iterator2.e(err);
|
|
359
|
-
} finally {
|
|
360
|
-
_iterator2.f();
|
|
361
|
-
}
|
|
253
|
+
/** @internal */
|
|
254
|
+
_unloadChildrenGroupsIfNeeded() {
|
|
255
|
+
if (this._orderedChildrenGroups) {
|
|
256
|
+
for (const group of this._orderedChildrenGroups) {
|
|
257
|
+
group.unloadData();
|
|
362
258
|
}
|
|
363
259
|
}
|
|
260
|
+
}
|
|
364
261
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
this._recordIdsSet = null;
|
|
370
|
-
}
|
|
262
|
+
/** @internal */
|
|
263
|
+
_invalidateRecordIdsSet() {
|
|
264
|
+
this._recordIdsSet = null;
|
|
265
|
+
}
|
|
371
266
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
var _iterator3 = _createForOfIteratorHelper(this.recordIds),
|
|
380
|
-
_step3;
|
|
381
|
-
try {
|
|
382
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
383
|
-
var recordId = _step3.value;
|
|
384
|
-
recordIdsSet[recordId] = true;
|
|
385
|
-
}
|
|
386
|
-
} catch (err) {
|
|
387
|
-
_iterator3.e(err);
|
|
388
|
-
} finally {
|
|
389
|
-
_iterator3.f();
|
|
390
|
-
}
|
|
391
|
-
this._recordIdsSet = recordIdsSet;
|
|
267
|
+
/** @internal */
|
|
268
|
+
_getOrGenerateRecordIdsSet() {
|
|
269
|
+
// TODO (SeanKeenan): this logic is duplicated in tableOrViewQueryResult
|
|
270
|
+
if (!this._recordIdsSet) {
|
|
271
|
+
const recordIdsSet = {};
|
|
272
|
+
for (const recordId of this.recordIds) {
|
|
273
|
+
recordIdsSet[recordId] = true;
|
|
392
274
|
}
|
|
393
|
-
|
|
275
|
+
this._recordIdsSet = recordIdsSet;
|
|
394
276
|
}
|
|
395
|
-
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
(0, _defineProperty2.default)(GroupedRecordQueryResult, "_className", 'GroupedRecordQueryResult');
|
|
277
|
+
return this._recordIdsSet;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
399
280
|
var _default = exports.default = GroupedRecordQueryResult;
|