@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,25 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.array.filter.js");
|
|
5
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
6
|
-
require("core-js/modules/es.object.to-string.js");
|
|
7
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
8
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: true
|
|
11
5
|
});
|
|
12
6
|
exports.default = void 0;
|
|
13
|
-
require("core-js/modules/es.string.starts-with.js");
|
|
14
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
7
|
var _record_core = require("../../shared/models/record_core");
|
|
24
8
|
var _private_utils = require("../../shared/private_utils");
|
|
25
9
|
var _error_utils = require("../../shared/error_utils");
|
|
@@ -27,19 +11,19 @@ var _color_utils = _interopRequireDefault(require("../../shared/color_utils"));
|
|
|
27
11
|
var _linked_records_query_result = _interopRequireDefault(require("./linked_records_query_result"));
|
|
28
12
|
var _object_pool = _interopRequireDefault(require("./object_pool"));
|
|
29
13
|
var _record_query_result = _interopRequireDefault(require("./record_query_result"));
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
/** @module @airtable/blocks/models: Record */ /** */
|
|
16
|
+
|
|
17
|
+
const WatchableRecordKeys = Object.freeze({
|
|
18
|
+
..._record_core.WatchableRecordKeysCore,
|
|
35
19
|
commentCount: 'commentCount'
|
|
36
|
-
})
|
|
20
|
+
});
|
|
37
21
|
// TODO: load cell values in field when this is watched? This will
|
|
38
22
|
// cause the CellRenderer component to load cell values, which seems okay,
|
|
39
23
|
// but needs a little more thought.
|
|
40
|
-
|
|
24
|
+
const WatchableCellValueInFieldKeyPrefix = 'cellValueInField:';
|
|
41
25
|
// TODO: load view data when this is watched. see previous comment.
|
|
42
|
-
|
|
26
|
+
const WatchableColorInViewKeyPrefix = 'colorInView:';
|
|
43
27
|
/**
|
|
44
28
|
* Any key within record that can be watched:
|
|
45
29
|
* - `'name'`
|
|
@@ -48,6 +32,7 @@ var WatchableColorInViewKeyPrefix = 'colorInView:';
|
|
|
48
32
|
* - `'cellValueInField:' + someFieldId`
|
|
49
33
|
* - `'colorInView:' + someViewId`
|
|
50
34
|
*/
|
|
35
|
+
|
|
51
36
|
/**
|
|
52
37
|
* Model class representing a record in a table.
|
|
53
38
|
*
|
|
@@ -56,249 +41,199 @@ var WatchableColorInViewKeyPrefix = 'colorInView:';
|
|
|
56
41
|
*
|
|
57
42
|
* @docsPath models/Record
|
|
58
43
|
*/
|
|
59
|
-
|
|
44
|
+
class Record extends _record_core.RecordCore {
|
|
45
|
+
/** @internal */
|
|
46
|
+
static _className = 'Record';
|
|
47
|
+
/** @internal */
|
|
48
|
+
static _isWatchableKey(key) {
|
|
49
|
+
return (0, _private_utils.isEnumValue)(WatchableRecordKeys, key) || key.startsWith(WatchableCellValueInFieldKeyPrefix) || key.startsWith(WatchableColorInViewKeyPrefix);
|
|
50
|
+
}
|
|
51
|
+
/** @internal */
|
|
52
|
+
|
|
60
53
|
/**
|
|
61
54
|
* @internal
|
|
62
55
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
_this = _callSuper(this, Record, [sdk, parentRecordStore, parentTable, recordId]);
|
|
67
|
-
/** @internal */
|
|
68
|
-
(0, _defineProperty2.default)(_this, "__linkedRecordsQueryResultPool", void 0);
|
|
69
|
-
_this.__linkedRecordsQueryResultPool = new _object_pool.default(_linked_records_query_result.default);
|
|
70
|
-
return _this;
|
|
56
|
+
constructor(sdk, parentRecordStore, parentTable, recordId) {
|
|
57
|
+
super(sdk, parentRecordStore, parentTable, recordId);
|
|
58
|
+
this.__linkedRecordsQueryResultPool = new _object_pool.default(_linked_records_query_result.default);
|
|
71
59
|
}
|
|
72
60
|
/**
|
|
73
61
|
* @internal
|
|
74
62
|
*/
|
|
75
|
-
(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
value: function _getViewMatching(viewOrViewIdOrViewName) {
|
|
79
|
-
return this.parentTable.__getViewMatching(viewOrViewIdOrViewName);
|
|
80
|
-
}
|
|
63
|
+
_getViewMatching(viewOrViewIdOrViewName) {
|
|
64
|
+
return this.parentTable.__getViewMatching(viewOrViewIdOrViewName);
|
|
65
|
+
}
|
|
81
66
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
value: function _getRawCellValue(field) {
|
|
103
|
-
(0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
|
|
104
|
-
return (0, _get2.default)((0, _getPrototypeOf2.default)(Record.prototype), "_getRawCellValue", this).call(this, field);
|
|
105
|
-
}
|
|
67
|
+
/**
|
|
68
|
+
* Gets the cell value of the given field for this record, formatted as a `string`.
|
|
69
|
+
*
|
|
70
|
+
* @param fieldOrFieldIdOrFieldName The field (or field ID or field name) whose cell value you'd like to get.
|
|
71
|
+
* @example
|
|
72
|
+
* ```js
|
|
73
|
+
* const stringValue = myRecord.getCellValueAsString(myNumberField);
|
|
74
|
+
* console.log(stringValue);
|
|
75
|
+
* // => '42'
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
getCellValueAsString(fieldOrFieldIdOrFieldName) {
|
|
79
|
+
const field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
|
|
80
|
+
(0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
|
|
81
|
+
return super.getCellValueAsString(field.id);
|
|
82
|
+
}
|
|
83
|
+
_getRawCellValue(field) {
|
|
84
|
+
(0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
|
|
85
|
+
return super._getRawCellValue(field);
|
|
86
|
+
}
|
|
106
87
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}, {
|
|
170
|
-
key: "getColorHexInView",
|
|
171
|
-
value: function getColorHexInView(viewOrViewIdOrViewName) {
|
|
172
|
-
var color = this.getColorInView(viewOrViewIdOrViewName);
|
|
173
|
-
if (!color) {
|
|
174
|
-
return null;
|
|
175
|
-
}
|
|
176
|
-
return _color_utils.default.getHexForColor(color);
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Select records referenced in a `multipleRecordLinks` cell value. Returns a query result
|
|
180
|
-
* containing the records in the given `multipleRecordLinks` field.
|
|
181
|
-
* See {@link RecordQueryResult} for more.
|
|
182
|
-
*
|
|
183
|
-
* @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
|
|
184
|
-
* @param opts Options for the query, such as sorts and fields.
|
|
185
|
-
*/
|
|
186
|
-
}, {
|
|
187
|
-
key: "selectLinkedRecordsFromCell",
|
|
188
|
-
value: function selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName) {
|
|
189
|
-
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
190
|
-
var field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
|
|
191
|
-
var linkedTableId = field.options && field.options.linkedTableId;
|
|
192
|
-
(0, _error_utils.invariant)(typeof linkedTableId === 'string', 'linkedTableId must be set');
|
|
193
|
-
var linkedTable = this._sdk.base.getTableById(linkedTableId);
|
|
194
|
-
var linkedRecordStore = this._sdk.base.__getRecordStore(linkedTableId);
|
|
195
|
-
var normalizedOpts = _record_query_result.default._normalizeOpts(linkedTable, linkedRecordStore, opts);
|
|
196
|
-
return this.__linkedRecordsQueryResultPool.getObjectForReuse(this, field, normalizedOpts, this._sdk);
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Select and load records referenced in a `multipleRecordLinks` cell value. Returns a query result
|
|
200
|
-
* promise containing the records in the given `multipleRecordLinks` field.
|
|
201
|
-
* See {@link RecordQueryResult} for more.
|
|
202
|
-
*
|
|
203
|
-
* Remember to call `queryResult.unloadData` once you're finished with the query.
|
|
204
|
-
*
|
|
205
|
-
* @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
|
|
206
|
-
* @param opts Options for the query, such as sorts and fields.
|
|
207
|
-
*/
|
|
208
|
-
}, {
|
|
209
|
-
key: "selectLinkedRecordsFromCellAsync",
|
|
210
|
-
value: (function () {
|
|
211
|
-
var _selectLinkedRecordsFromCellAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(fieldOrFieldIdOrFieldName) {
|
|
212
|
-
var opts,
|
|
213
|
-
queryResult,
|
|
214
|
-
_args = arguments;
|
|
215
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
216
|
-
while (1) switch (_context.prev = _context.next) {
|
|
217
|
-
case 0:
|
|
218
|
-
opts = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
219
|
-
queryResult = this.selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName, opts);
|
|
220
|
-
_context.next = 4;
|
|
221
|
-
return queryResult.loadDataAsync();
|
|
222
|
-
case 4:
|
|
223
|
-
return _context.abrupt("return", queryResult);
|
|
224
|
-
case 5:
|
|
225
|
-
case "end":
|
|
226
|
-
return _context.stop();
|
|
227
|
-
}
|
|
228
|
-
}, _callee, this);
|
|
229
|
-
}));
|
|
230
|
-
function selectLinkedRecordsFromCellAsync(_x) {
|
|
231
|
-
return _selectLinkedRecordsFromCellAsync.apply(this, arguments);
|
|
232
|
-
}
|
|
233
|
-
return selectLinkedRecordsFromCellAsync;
|
|
234
|
-
}()
|
|
235
|
-
/**
|
|
236
|
-
* The URL for the record. You can visit this URL in the browser to be taken to the record in the Airtable UI.
|
|
237
|
-
*
|
|
238
|
-
* @example
|
|
239
|
-
* ```js
|
|
240
|
-
* console.log(myRecord.url);
|
|
241
|
-
* // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx/recxxxxxxxxxxxxxx'
|
|
242
|
-
* ```
|
|
243
|
-
*/
|
|
244
|
-
)
|
|
245
|
-
}, {
|
|
246
|
-
key: "url",
|
|
247
|
-
get: function get() {
|
|
248
|
-
return this._sdk.__airtableInterface.urlConstructor.getRecordUrl(this.id, this.parentTable.id);
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* The number of comments on this record.
|
|
252
|
-
*
|
|
253
|
-
* @example
|
|
254
|
-
* ```js
|
|
255
|
-
* const commentCount = myRecord.commentCount;
|
|
256
|
-
* const isSingular = commentCount === 1;
|
|
257
|
-
* console.log(
|
|
258
|
-
* `This record has ${commentCount} comment${isSingular ? '' : 's'}`
|
|
259
|
-
* );
|
|
260
|
-
* ```
|
|
261
|
-
*/
|
|
262
|
-
}, {
|
|
263
|
-
key: "commentCount",
|
|
264
|
-
get: function get() {
|
|
265
|
-
return this._data.commentCount;
|
|
88
|
+
/**
|
|
89
|
+
* Returns a URL that is suitable for rendering an attachment on the current client.
|
|
90
|
+
* The URL that is returned will only work for the current user.
|
|
91
|
+
*
|
|
92
|
+
* @param attachmentId The ID of the attachment.
|
|
93
|
+
* @param attachmentUrl The attachment's URL (which is not suitable for rendering on the client).
|
|
94
|
+
* @example
|
|
95
|
+
* ```js
|
|
96
|
+
* import React from 'react';
|
|
97
|
+
*
|
|
98
|
+
* function RecordAttachments(props) {
|
|
99
|
+
* const {record, attachmentField} = props;
|
|
100
|
+
* const attachmentCellValue = record.getCellValue(attachmentField);
|
|
101
|
+
* if (attachmentCellValue === null) {
|
|
102
|
+
* return null;
|
|
103
|
+
* }
|
|
104
|
+
* return (
|
|
105
|
+
* <div>
|
|
106
|
+
* {attachmentCellValue.map(attachmentObj => {
|
|
107
|
+
* const clientUrl =
|
|
108
|
+
* record.getAttachmentClientUrlFromCellValueUrl(
|
|
109
|
+
* attachmentObj.id,
|
|
110
|
+
* attachmentObj.url
|
|
111
|
+
* );
|
|
112
|
+
* return (
|
|
113
|
+
* <img key={attachmentObj.id} src={clientUrl} width={200} />
|
|
114
|
+
* );
|
|
115
|
+
* })}
|
|
116
|
+
* </div>
|
|
117
|
+
* );
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
getAttachmentClientUrlFromCellValueUrl(attachmentId, attachmentUrl) {
|
|
122
|
+
const airtableInterface = this._sdk.__airtableInterface;
|
|
123
|
+
const appInterface = this._sdk.__appInterface;
|
|
124
|
+
return airtableInterface.urlConstructor.getAttachmentClientUrl(appInterface, attachmentId, attachmentUrl);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Gets the color of this record in a given view, or null if the record has no color in that
|
|
128
|
+
* view.
|
|
129
|
+
*
|
|
130
|
+
* Can be watched with the 'colorInView:${ViewId}' key.
|
|
131
|
+
*
|
|
132
|
+
* @param viewOrViewIdOrViewName The view (or view ID or view name) to use for record coloring.
|
|
133
|
+
*/
|
|
134
|
+
getColorInView(viewOrViewIdOrViewName) {
|
|
135
|
+
const view = this._getViewMatching(viewOrViewIdOrViewName);
|
|
136
|
+
return this._parentRecordStore.getViewDataStore(view.id).getRecordColor(this);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Gets the CSS hex string for this record in a given view, or null if the record has no color
|
|
140
|
+
* in that view.
|
|
141
|
+
*
|
|
142
|
+
* Can be watched with the 'colorInView:${ViewId}' key.
|
|
143
|
+
*
|
|
144
|
+
* @param viewOrViewIdOrViewName The view (or view ID or view name) to use for record coloring.
|
|
145
|
+
*/
|
|
146
|
+
getColorHexInView(viewOrViewIdOrViewName) {
|
|
147
|
+
const color = this.getColorInView(viewOrViewIdOrViewName);
|
|
148
|
+
if (!color) {
|
|
149
|
+
return null;
|
|
266
150
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
151
|
+
return _color_utils.default.getHexForColor(color);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Select records referenced in a `multipleRecordLinks` cell value. Returns a query result
|
|
155
|
+
* containing the records in the given `multipleRecordLinks` field.
|
|
156
|
+
* See {@link RecordQueryResult} for more.
|
|
157
|
+
*
|
|
158
|
+
* @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
|
|
159
|
+
* @param opts Options for the query, such as sorts and fields.
|
|
160
|
+
*/
|
|
161
|
+
selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName) {
|
|
162
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
163
|
+
const field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
|
|
164
|
+
const linkedTableId = field.options && field.options.linkedTableId;
|
|
165
|
+
(0, _error_utils.invariant)(typeof linkedTableId === 'string', 'linkedTableId must be set');
|
|
166
|
+
const linkedTable = this._sdk.base.getTableById(linkedTableId);
|
|
167
|
+
const linkedRecordStore = this._sdk.base.__getRecordStore(linkedTableId);
|
|
168
|
+
const normalizedOpts = _record_query_result.default._normalizeOpts(linkedTable, linkedRecordStore, opts);
|
|
169
|
+
return this.__linkedRecordsQueryResultPool.getObjectForReuse(this, field, normalizedOpts, this._sdk);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Select and load records referenced in a `multipleRecordLinks` cell value. Returns a query result
|
|
173
|
+
* promise containing the records in the given `multipleRecordLinks` field.
|
|
174
|
+
* See {@link RecordQueryResult} for more.
|
|
175
|
+
*
|
|
176
|
+
* Remember to call `queryResult.unloadData` once you're finished with the query.
|
|
177
|
+
*
|
|
178
|
+
* @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
|
|
179
|
+
* @param opts Options for the query, such as sorts and fields.
|
|
180
|
+
*/
|
|
181
|
+
async selectLinkedRecordsFromCellAsync(fieldOrFieldIdOrFieldName) {
|
|
182
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
183
|
+
const queryResult = this.selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName, opts);
|
|
184
|
+
await queryResult.loadDataAsync();
|
|
185
|
+
return queryResult;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* The URL for the record. You can visit this URL in the browser to be taken to the record in the Airtable UI.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```js
|
|
192
|
+
* console.log(myRecord.url);
|
|
193
|
+
* // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx/recxxxxxxxxxxxxxx'
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
get url() {
|
|
197
|
+
return this._sdk.__airtableInterface.urlConstructor.getRecordUrl(this.id, this.parentTable.id);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* The number of comments on this record.
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```js
|
|
204
|
+
* const commentCount = myRecord.commentCount;
|
|
205
|
+
* const isSingular = commentCount === 1;
|
|
206
|
+
* console.log(
|
|
207
|
+
* `This record has ${commentCount} comment${isSingular ? '' : 's'}`
|
|
208
|
+
* );
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
get commentCount() {
|
|
212
|
+
return this._data.commentCount;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* @internal
|
|
216
|
+
*/
|
|
217
|
+
__triggerOnChangeForDirtyPaths(dirtyPaths) {
|
|
218
|
+
super.__triggerOnChangeForDirtyPaths(dirtyPaths);
|
|
219
|
+
const {
|
|
220
|
+
cellValuesByFieldId,
|
|
221
|
+
commentCount
|
|
222
|
+
} = dirtyPaths;
|
|
223
|
+
if (cellValuesByFieldId && !(0, _private_utils.isObjectEmpty)(cellValuesByFieldId)) {
|
|
224
|
+
for (const fieldId of Object.keys(cellValuesByFieldId)) {
|
|
225
|
+
this._onChange(WatchableCellValueInFieldKeyPrefix + fieldId, fieldId);
|
|
284
226
|
}
|
|
285
227
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
*/
|
|
289
|
-
}, {
|
|
290
|
-
key: "__triggerOnChangeForRecordColorInViewId",
|
|
291
|
-
value: function __triggerOnChangeForRecordColorInViewId(viewId) {
|
|
292
|
-
this._onChange(WatchableColorInViewKeyPrefix + viewId);
|
|
228
|
+
if (commentCount) {
|
|
229
|
+
this._onChange(WatchableRecordKeys.commentCount);
|
|
293
230
|
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
/** @internal */
|
|
303
|
-
(0, _defineProperty2.default)(Record, "_className", 'Record');
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* @internal
|
|
234
|
+
*/
|
|
235
|
+
__triggerOnChangeForRecordColorInViewId(viewId) {
|
|
236
|
+
this._onChange(WatchableColorInViewKeyPrefix + viewId);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
304
239
|
var _default = exports.default = Record;
|
|
@@ -13,7 +13,7 @@ exports.serialize = exports.modes = exports.ModeTypes = void 0;
|
|
|
13
13
|
* @hidden
|
|
14
14
|
* @alias recordColoring.ModeTypes
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
const ModeTypes = exports.ModeTypes = {
|
|
17
17
|
/**
|
|
18
18
|
* @alias recordColoring.ModeTypes.NONE
|
|
19
19
|
*/
|
|
@@ -40,12 +40,12 @@ var ModeTypes = exports.ModeTypes = {
|
|
|
40
40
|
|
|
41
41
|
/** */
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const serialize = mode => {
|
|
44
|
+
let result = mode.type;
|
|
45
45
|
if (mode.type === ModeTypes.BY_SELECT_FIELD) {
|
|
46
|
-
result +=
|
|
46
|
+
result += `-${mode.selectField.id}`;
|
|
47
47
|
} else if (mode.type === ModeTypes.BY_VIEW) {
|
|
48
|
-
result +=
|
|
48
|
+
result += `-${mode.view.id}`;
|
|
49
49
|
}
|
|
50
50
|
return result;
|
|
51
51
|
};
|
|
@@ -74,7 +74,7 @@ var serialize = mode => {
|
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
76
|
exports.serialize = serialize;
|
|
77
|
-
|
|
77
|
+
const modes = exports.modes = {
|
|
78
78
|
/**
|
|
79
79
|
* Returns a {@link RecordColorMode} that represents no record coloring.
|
|
80
80
|
*
|