@airtable/blocks 0.0.0-experimental-e5ab33b68-20250905 → 0.0.0-experimental-e625869e5-20251002
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/esm/base/assert_run_context.js +9 -0
- package/dist/esm/base/index.js +42 -0
- package/dist/{cjs → esm}/base/models/abstract_model_with_async_data.js +8 -15
- package/dist/{cjs → esm}/base/models/base.js +42 -22
- package/dist/{cjs → esm}/base/models/create_aggregators.js +11 -24
- package/dist/{cjs → esm}/base/models/cursor.js +21 -28
- package/dist/{cjs → esm}/base/models/field.js +16 -24
- package/dist/{cjs → esm}/base/models/grouped_record_query_result.js +9 -15
- package/dist/{cjs → esm}/base/models/linked_records_query_result.js +42 -50
- package/dist/esm/base/models/models.js +19 -0
- package/dist/{cjs → esm}/base/models/mutations.js +68 -74
- package/dist/{cjs → esm}/base/models/object_pool.js +4 -11
- package/dist/{cjs → esm}/base/models/record.js +18 -25
- package/dist/{cjs → esm}/base/models/record_coloring.js +3 -10
- package/dist/{cjs → esm}/base/models/record_query_result.js +52 -61
- package/dist/{cjs → esm}/base/models/record_store.js +33 -42
- package/dist/{cjs → esm}/base/models/session.js +7 -12
- package/dist/{cjs → esm}/base/models/table.js +31 -39
- package/dist/{cjs → esm}/base/models/table_or_view_query_result.js +74 -82
- package/dist/{cjs → esm}/base/models/view.js +17 -25
- package/dist/{cjs → esm}/base/models/view_data_store.js +19 -26
- package/dist/{cjs → esm}/base/models/view_metadata_query_result.js +9 -16
- package/dist/{cjs → esm}/base/perform_record_action.js +9 -19
- package/dist/{cjs → esm}/base/sdk.js +20 -27
- package/dist/{cjs → esm}/base/settings_button.js +5 -13
- package/dist/esm/base/types/aggregators.js +1 -0
- package/dist/{cjs → esm}/base/types/airtable_interface.js +18 -10
- package/dist/esm/base/types/backend_fetch_types.js +1 -0
- package/dist/esm/base/types/base.js +1 -0
- package/dist/esm/base/types/cursor.js +1 -0
- package/dist/esm/base/types/field.js +1 -0
- package/dist/{cjs → esm}/base/types/mutations.js +3 -9
- package/dist/esm/base/types/record.js +1 -0
- package/dist/esm/base/types/record_action_data.js +1 -0
- package/dist/esm/base/types/table.js +1 -0
- package/dist/esm/base/types/undo_redo.js +6 -0
- package/dist/{cjs → esm}/base/types/view.js +7 -8
- package/dist/esm/base/types/viewport.js +1 -0
- package/dist/esm/base/ui/base_provider.js +41 -0
- package/dist/esm/base/ui/block_wrapper.js +143 -0
- package/dist/esm/base/ui/cell_renderer.js +19 -0
- package/dist/{cjs → esm}/base/ui/expand_record.js +1 -7
- package/dist/{cjs → esm}/base/ui/expand_record_list.js +4 -10
- package/dist/{cjs → esm}/base/ui/expand_record_picker_async.js +4 -10
- package/dist/esm/base/ui/global_alert.js +65 -0
- package/dist/esm/base/ui/global_css_helpers.js +28 -0
- package/dist/esm/base/ui/initialize_block.js +110 -0
- package/dist/esm/base/ui/ui.js +32 -0
- package/dist/esm/base/ui/unstable_standalone_ui.js +29 -0
- package/dist/{cjs → esm}/base/ui/use_base.js +4 -10
- package/dist/{cjs → esm}/base/ui/use_cursor.js +5 -12
- package/dist/{cjs → esm}/base/ui/use_loadable.js +13 -21
- package/dist/{cjs → esm}/base/ui/use_record_action_data.js +9 -15
- package/dist/{cjs → esm}/base/ui/use_records.js +21 -33
- package/dist/{cjs → esm}/base/ui/use_session.js +4 -10
- package/dist/{cjs → esm}/base/ui/use_settings_button.js +7 -15
- package/dist/{cjs → esm}/base/ui/use_view_metadata.js +8 -14
- package/dist/{cjs → esm}/base/ui/use_viewport.js +5 -12
- package/dist/esm/base/undo_redo.js +31 -0
- package/dist/esm/base/unstable_testing_utils.js +6 -0
- package/dist/{cjs → esm}/base/viewport.js +9 -17
- package/dist/{cjs → esm}/injected/airtable_interface.js +3 -9
- package/dist/esm/interface/assert_run_context.js +9 -0
- package/dist/esm/interface/index.js +16 -0
- package/dist/{cjs → esm}/interface/models/base.js +7 -13
- package/dist/{cjs → esm}/interface/models/field.js +3 -9
- package/dist/esm/interface/models/models.js +9 -0
- package/dist/{cjs → esm}/interface/models/mutations.js +6 -13
- package/dist/{cjs → esm}/interface/models/record.js +9 -16
- package/dist/esm/interface/models/record_store.js +42 -0
- package/dist/{cjs → esm}/interface/models/session.js +2 -8
- package/dist/{cjs → esm}/interface/models/table.js +7 -13
- package/dist/{cjs → esm}/interface/sdk.js +9 -16
- package/dist/{cjs → esm}/interface/types/airtable_interface.js +13 -12
- package/dist/esm/interface/types/base.js +1 -0
- package/dist/esm/interface/types/field.js +1 -0
- package/dist/esm/interface/types/mutations.js +12 -0
- package/dist/esm/interface/types/record.js +1 -0
- package/dist/esm/interface/types/table.js +1 -0
- package/dist/esm/interface/ui/block_wrapper.js +49 -0
- package/dist/esm/interface/ui/cell_renderer.js +19 -0
- package/dist/{cjs → esm}/interface/ui/expand_record.js +1 -7
- package/dist/esm/interface/ui/global_css_helpers.js +17 -0
- package/dist/esm/interface/ui/initialize_block.js +83 -0
- package/dist/esm/interface/ui/ui.js +20 -0
- package/dist/{cjs → esm}/interface/ui/use_base.js +3 -10
- package/dist/{cjs → esm}/interface/ui/use_custom_properties.js +61 -39
- package/dist/{cjs → esm}/interface/ui/use_records.js +5 -12
- package/dist/{cjs → esm}/interface/ui/use_run_info.js +4 -9
- package/dist/{cjs → esm}/interface/ui/use_session.js +3 -10
- package/dist/esm/sdk_mode.js +1 -0
- package/dist/esm/shared/color_utils.js +50 -0
- package/dist/{cjs → esm}/shared/colors.js +4 -8
- package/dist/{cjs → esm}/shared/error_utils.js +5 -15
- package/dist/esm/shared/event_tracker.js +20 -0
- package/dist/{cjs → esm}/shared/global_config.js +13 -19
- package/dist/{cjs → esm}/shared/models/abstract_model.js +6 -14
- package/dist/{cjs → esm}/shared/models/base_core.js +22 -29
- package/dist/{cjs → esm}/shared/models/field_core.js +9 -16
- package/dist/{cjs → esm}/shared/models/mutations_core.js +36 -43
- package/dist/{cjs → esm}/shared/models/record_core.js +17 -25
- package/dist/{cjs → esm}/shared/models/record_store_core.js +15 -22
- package/dist/{cjs → esm}/shared/models/session_core.js +9 -17
- package/dist/{cjs → esm}/shared/models/table_core.js +29 -36
- package/dist/{cjs → esm}/shared/private_utils.js +85 -71
- package/dist/{cjs → esm}/shared/sdk_core.js +6 -13
- package/dist/esm/shared/types/airtable_interface_core.js +1 -0
- package/dist/esm/shared/types/attachment.js +1 -0
- package/dist/esm/shared/types/base_core.js +1 -0
- package/dist/esm/shared/types/collaborator.js +1 -0
- package/dist/{cjs → esm}/shared/types/field_core.js +51 -8
- package/dist/esm/shared/types/global_config.js +1 -0
- package/dist/esm/shared/types/hyper_ids.js +1 -0
- package/dist/esm/shared/types/mutation_constants.js +5 -0
- package/dist/{cjs → esm}/shared/types/mutations_core.js +1 -7
- package/dist/esm/shared/types/permission_levels.js +11 -0
- package/dist/esm/shared/types/record.js +1 -0
- package/dist/esm/shared/types/stat.js +1 -0
- package/dist/esm/shared/types/table_core.js +1 -0
- package/dist/esm/shared/ui/cell_renderer.js +137 -0
- package/dist/esm/shared/ui/global_config_synced_component_helpers.js +21 -0
- package/dist/{cjs → esm}/shared/ui/loader.js +2 -10
- package/dist/{cjs → esm}/shared/ui/remote_utils.js +7 -15
- package/dist/esm/shared/ui/sdk_context.js +8 -0
- package/dist/{cjs → esm}/shared/ui/use_array_identity.js +3 -8
- package/dist/esm/shared/ui/use_base.js +16 -0
- package/dist/{cjs → esm}/shared/ui/use_color_scheme.js +4 -10
- package/dist/{cjs → esm}/shared/ui/use_global_config.js +7 -13
- package/dist/esm/shared/ui/use_session.js +15 -0
- package/dist/{cjs → esm}/shared/ui/use_synced.js +5 -11
- package/dist/{cjs → esm}/shared/ui/use_watchable.js +11 -19
- package/dist/{cjs → esm}/shared/ui/with_hooks.js +7 -13
- package/dist/esm/shared/unstable_private_utils.js +4 -0
- package/dist/{cjs → esm}/shared/warning.js +3 -11
- package/dist/{cjs → esm}/shared/watchable.js +5 -11
- package/dist/{cjs → esm}/stats/block_stats.js +8 -14
- package/dist/{cjs → esm}/testing/base/abstract_mock_airtable_interface.js +8 -17
- package/dist/{cjs → esm}/testing/interface/abstract_mock_airtable_interface.js +8 -17
- package/dist/types/src/base/index.d.ts +0 -2
- package/dist/types/src/base/index.d.ts.map +1 -1
- package/dist/types/src/base/models/abstract_model_with_async_data.d.ts +3 -3
- package/dist/types/src/base/models/abstract_model_with_async_data.d.ts.map +1 -1
- package/dist/types/src/base/models/base.d.ts +21 -3
- package/dist/types/src/base/models/base.d.ts.map +1 -1
- package/dist/types/src/base/models/create_aggregators.d.ts +7 -8
- package/dist/types/src/base/models/create_aggregators.d.ts.map +1 -1
- package/dist/types/src/base/models/cursor.d.ts +2 -2
- package/dist/types/src/base/models/cursor.d.ts.map +1 -1
- package/dist/types/src/base/models/field.d.ts +9 -8
- package/dist/types/src/base/models/field.d.ts.map +1 -1
- package/dist/types/src/base/models/grouped_record_query_result.d.ts +6 -6
- package/dist/types/src/base/models/grouped_record_query_result.d.ts.map +1 -1
- package/dist/types/src/base/models/linked_records_query_result.d.ts +4 -4
- package/dist/types/src/base/models/linked_records_query_result.d.ts.map +1 -1
- package/dist/types/src/base/models/models.d.ts +2 -3
- package/dist/types/src/base/models/models.d.ts.map +1 -1
- package/dist/types/src/base/models/mutations.d.ts +1 -1
- package/dist/types/src/base/models/mutations.d.ts.map +1 -1
- package/dist/types/src/base/models/record.d.ts +8 -8
- package/dist/types/src/base/models/record.d.ts.map +1 -1
- package/dist/types/src/base/models/record_coloring.d.ts +3 -3
- package/dist/types/src/base/models/record_coloring.d.ts.map +1 -1
- package/dist/types/src/base/models/record_query_result.d.ts +5 -5
- package/dist/types/src/base/models/record_query_result.d.ts.map +1 -1
- package/dist/types/src/base/models/session.d.ts +2 -2
- package/dist/types/src/base/models/session.d.ts.map +1 -1
- package/dist/types/src/base/models/table.d.ts +7 -7
- package/dist/types/src/base/models/table.d.ts.map +1 -1
- package/dist/types/src/base/models/table_or_view_query_result.d.ts +5 -5
- package/dist/types/src/base/models/table_or_view_query_result.d.ts.map +1 -1
- package/dist/types/src/base/models/view.d.ts +6 -6
- package/dist/types/src/base/models/view.d.ts.map +1 -1
- package/dist/types/src/base/models/view_metadata_query_result.d.ts +5 -5
- package/dist/types/src/base/models/view_metadata_query_result.d.ts.map +1 -1
- package/dist/types/src/base/perform_record_action.d.ts +2 -2
- package/dist/types/src/base/perform_record_action.d.ts.map +1 -1
- package/dist/types/src/base/sdk.d.ts +3 -3
- package/dist/types/src/base/sdk.d.ts.map +1 -1
- package/dist/types/src/base/settings_button.d.ts +1 -1
- package/dist/types/src/base/settings_button.d.ts.map +1 -1
- package/dist/types/src/base/types/airtable_interface.d.ts +16 -18
- package/dist/types/src/base/types/airtable_interface.d.ts.map +1 -1
- package/dist/types/src/base/types/base.d.ts +4 -4
- package/dist/types/src/base/types/base.d.ts.map +1 -1
- package/dist/types/src/base/types/cursor.d.ts +2 -2
- package/dist/types/src/base/types/cursor.d.ts.map +1 -1
- package/dist/types/src/base/types/field.d.ts +1 -1
- package/dist/types/src/base/types/field.d.ts.map +1 -1
- package/dist/types/src/base/types/mutations.d.ts +5 -5
- package/dist/types/src/base/types/mutations.d.ts.map +1 -1
- package/dist/types/src/base/types/record.d.ts +1 -1
- package/dist/types/src/base/types/record.d.ts.map +1 -1
- package/dist/types/src/base/types/record_action_data.d.ts +1 -1
- package/dist/types/src/base/types/record_action_data.d.ts.map +1 -1
- package/dist/types/src/base/types/table.d.ts +6 -6
- package/dist/types/src/base/types/table.d.ts.map +1 -1
- package/dist/types/src/base/types/undo_redo.d.ts +1 -1
- package/dist/types/src/base/types/undo_redo.d.ts.map +1 -1
- package/dist/types/src/base/types/view.d.ts +3 -3
- package/dist/types/src/base/types/view.d.ts.map +1 -1
- package/dist/types/src/base/ui/base_provider.d.ts +1 -1
- package/dist/types/src/base/ui/base_provider.d.ts.map +1 -1
- package/dist/types/src/base/ui/block_wrapper.d.ts +3 -17
- package/dist/types/src/base/ui/block_wrapper.d.ts.map +1 -1
- package/dist/types/src/base/ui/cell_renderer.d.ts +6 -58
- package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
- package/dist/types/src/base/ui/expand_record.d.ts +1 -1
- package/dist/types/src/base/ui/expand_record.d.ts.map +1 -1
- package/dist/types/src/base/ui/expand_record_list.d.ts +2 -2
- package/dist/types/src/base/ui/expand_record_list.d.ts.map +1 -1
- package/dist/types/src/base/ui/expand_record_picker_async.d.ts +2 -2
- package/dist/types/src/base/ui/expand_record_picker_async.d.ts.map +1 -1
- package/dist/types/src/base/ui/global_alert.d.ts +1 -1
- package/dist/types/src/base/ui/global_alert.d.ts.map +1 -1
- package/dist/types/src/base/ui/global_css_helpers.d.ts +4 -0
- package/dist/types/src/base/ui/global_css_helpers.d.ts.map +1 -0
- package/dist/types/src/base/ui/initialize_block.d.ts +3 -3
- package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
- package/dist/types/src/base/ui/ui.d.ts +1 -21
- package/dist/types/src/base/ui/ui.d.ts.map +1 -1
- package/dist/types/src/base/ui/unstable_standalone_ui.d.ts +2 -22
- package/dist/types/src/base/ui/unstable_standalone_ui.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_cursor.d.ts +1 -1
- package/dist/types/src/base/ui/use_cursor.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_loadable.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_record_action_data.d.ts +1 -1
- package/dist/types/src/base/ui/use_record_action_data.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_records.d.ts +5 -5
- package/dist/types/src/base/ui/use_records.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_settings_button.d.ts +1 -1
- package/dist/types/src/base/ui/use_settings_button.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_view_metadata.d.ts +1 -1
- package/dist/types/src/base/ui/use_view_metadata.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_viewport.d.ts +1 -1
- package/dist/types/src/base/ui/use_viewport.d.ts.map +1 -1
- package/dist/types/src/base/undo_redo.d.ts +2 -2
- package/dist/types/src/base/undo_redo.d.ts.map +1 -1
- package/dist/types/src/base/unstable_testing_utils.d.ts +13 -11
- package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
- package/dist/types/src/base/viewport.d.ts +2 -2
- package/dist/types/src/base/viewport.d.ts.map +1 -1
- package/dist/types/src/injected/airtable_interface.d.ts +1 -1
- package/dist/types/src/injected/airtable_interface.d.ts.map +1 -1
- package/dist/types/src/interface/models/base.d.ts +1 -1
- package/dist/types/src/interface/models/base.d.ts.map +1 -1
- package/dist/types/src/interface/models/field.d.ts +1 -1
- package/dist/types/src/interface/models/field.d.ts.map +1 -1
- package/dist/types/src/interface/models/models.d.ts +2 -1
- package/dist/types/src/interface/models/models.d.ts.map +1 -1
- package/dist/types/src/interface/models/mutations.d.ts +1 -1
- package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
- package/dist/types/src/interface/models/record.d.ts +4 -4
- package/dist/types/src/interface/models/record.d.ts.map +1 -1
- package/dist/types/src/interface/models/session.d.ts +1 -1
- package/dist/types/src/interface/models/session.d.ts.map +1 -1
- package/dist/types/src/interface/models/table.d.ts +2 -2
- package/dist/types/src/interface/models/table.d.ts.map +1 -1
- package/dist/types/src/interface/sdk.d.ts +2 -2
- package/dist/types/src/interface/sdk.d.ts.map +1 -1
- package/dist/types/src/interface/types/airtable_interface.d.ts +11 -9
- package/dist/types/src/interface/types/airtable_interface.d.ts.map +1 -1
- package/dist/types/src/interface/types/base.d.ts +2 -2
- package/dist/types/src/interface/types/base.d.ts.map +1 -1
- package/dist/types/src/interface/types/field.d.ts +1 -1
- package/dist/types/src/interface/types/field.d.ts.map +1 -1
- package/dist/types/src/interface/types/mutations.d.ts +2 -2
- package/dist/types/src/interface/types/mutations.d.ts.map +1 -1
- package/dist/types/src/interface/types/record.d.ts +1 -1
- package/dist/types/src/interface/types/record.d.ts.map +1 -1
- package/dist/types/src/interface/types/table.d.ts +5 -5
- package/dist/types/src/interface/types/table.d.ts.map +1 -1
- package/dist/types/src/interface/ui/block_wrapper.d.ts +2 -5
- package/dist/types/src/interface/ui/block_wrapper.d.ts.map +1 -1
- package/dist/types/src/interface/ui/cell_renderer.d.ts +19 -0
- package/dist/types/src/interface/ui/cell_renderer.d.ts.map +1 -0
- package/dist/types/src/interface/ui/expand_record.d.ts +1 -1
- package/dist/types/src/interface/ui/expand_record.d.ts.map +1 -1
- package/dist/types/src/interface/ui/global_css_helpers.d.ts +3 -0
- package/dist/types/src/interface/ui/global_css_helpers.d.ts.map +1 -0
- package/dist/types/src/interface/ui/initialize_block.d.ts +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 -1
- package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_base.d.ts +1 -1
- package/dist/types/src/interface/ui/use_base.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_custom_properties.d.ts +10 -3
- package/dist/types/src/interface/ui/use_custom_properties.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_records.d.ts +2 -2
- package/dist/types/src/interface/ui/use_records.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_session.d.ts +1 -1
- package/dist/types/src/interface/ui/use_session.d.ts.map +1 -1
- package/dist/types/src/sdk_mode.d.ts +26 -26
- package/dist/types/src/sdk_mode.d.ts.map +1 -1
- package/dist/types/src/shared/color_utils.d.ts +1 -1
- package/dist/types/src/shared/color_utils.d.ts.map +1 -1
- package/dist/types/src/shared/colors.d.ts +1 -1
- package/dist/types/src/shared/colors.d.ts.map +1 -1
- package/dist/types/src/shared/global_config.d.ts +2 -2
- package/dist/types/src/shared/global_config.d.ts.map +1 -1
- package/dist/types/src/shared/models/abstract_model.d.ts +1 -1
- package/dist/types/src/shared/models/abstract_model.d.ts.map +1 -1
- package/dist/types/src/shared/models/base_core.d.ts +4 -4
- package/dist/types/src/shared/models/base_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/field_core.d.ts +4 -4
- package/dist/types/src/shared/models/field_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/mutations_core.d.ts +4 -4
- package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/record_core.d.ts +3 -3
- package/dist/types/src/shared/models/record_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/session_core.d.ts +5 -5
- package/dist/types/src/shared/models/session_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/table_core.d.ts +4 -4
- package/dist/types/src/shared/models/table_core.d.ts.map +1 -1
- package/dist/types/src/shared/private_utils.d.ts +9 -1
- package/dist/types/src/shared/private_utils.d.ts.map +1 -1
- package/dist/types/src/shared/sdk_core.d.ts +2 -2
- package/dist/types/src/shared/sdk_core.d.ts.map +1 -1
- package/dist/types/src/shared/types/airtable_interface_core.d.ts +9 -9
- package/dist/types/src/shared/types/airtable_interface_core.d.ts.map +1 -1
- package/dist/types/src/shared/types/attachment.d.ts +1 -1
- package/dist/types/src/shared/types/attachment.d.ts.map +1 -1
- package/dist/types/src/shared/types/base_core.d.ts +6 -6
- package/dist/types/src/shared/types/base_core.d.ts.map +1 -1
- package/dist/types/src/shared/types/collaborator.d.ts +1 -1
- package/dist/types/src/shared/types/collaborator.d.ts.map +1 -1
- package/dist/types/src/shared/types/field_core.d.ts +2 -2
- package/dist/types/src/shared/types/field_core.d.ts.map +1 -1
- package/dist/types/src/shared/types/mutations_core.d.ts +3 -3
- package/dist/types/src/shared/types/mutations_core.d.ts.map +1 -1
- package/dist/types/src/shared/types/permission_levels.d.ts +1 -1
- package/dist/types/src/shared/types/permission_levels.d.ts.map +1 -1
- package/dist/types/src/shared/types/record.d.ts +2 -2
- package/dist/types/src/shared/types/record.d.ts.map +1 -1
- package/dist/types/src/shared/types/table_core.d.ts +1 -1
- package/dist/types/src/shared/types/table_core.d.ts.map +1 -1
- package/dist/types/src/shared/ui/cell_renderer.d.ts +32 -0
- package/dist/types/src/shared/ui/cell_renderer.d.ts.map +1 -0
- package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +1 -1
- package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
- package/dist/types/src/shared/ui/sdk_context.d.ts +1 -1
- package/dist/types/src/shared/ui/sdk_context.d.ts.map +1 -1
- package/dist/types/src/shared/ui/use_base.d.ts +1 -1
- package/dist/types/src/shared/ui/use_base.d.ts.map +1 -1
- package/dist/types/src/shared/ui/use_global_config.d.ts +1 -1
- package/dist/types/src/shared/ui/use_global_config.d.ts.map +1 -1
- package/dist/types/src/shared/ui/use_synced.d.ts +1 -1
- package/dist/types/src/shared/ui/use_synced.d.ts.map +1 -1
- package/dist/types/src/shared/ui/use_watchable.d.ts +1 -1
- package/dist/types/src/shared/ui/use_watchable.d.ts.map +1 -1
- package/dist/types/src/shared/warning.d.ts +2 -2
- package/dist/types/src/shared/warning.d.ts.map +1 -1
- package/dist/types/src/shared/watchable.d.ts +1 -1
- package/dist/types/src/shared/watchable.d.ts.map +1 -1
- package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts +15 -16
- package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -1
- package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +8 -9
- package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -1
- package/models.js +1 -1
- package/package.json +23 -55
- package/types.js +1 -1
- package/dist/cjs/base/assert_run_context.js +0 -12
- package/dist/cjs/base/index.js +0 -96
- package/dist/cjs/base/models/models.js +0 -134
- package/dist/cjs/base/types/aggregators.js +0 -1
- package/dist/cjs/base/types/backend_fetch_types.js +0 -1
- package/dist/cjs/base/types/base.js +0 -1
- package/dist/cjs/base/types/cursor.js +0 -1
- package/dist/cjs/base/types/field.js +0 -1
- package/dist/cjs/base/types/record.js +0 -1
- package/dist/cjs/base/types/record_action_data.js +0 -1
- package/dist/cjs/base/types/table.js +0 -1
- package/dist/cjs/base/types/undo_redo.js +0 -12
- package/dist/cjs/base/types/viewport.js +0 -1
- package/dist/cjs/base/ui/base_provider.js +0 -48
- package/dist/cjs/base/ui/baymax_utils.js +0 -461
- package/dist/cjs/base/ui/block_wrapper.js +0 -118
- package/dist/cjs/base/ui/box.js +0 -84
- package/dist/cjs/base/ui/button.js +0 -152
- package/dist/cjs/base/ui/cell_renderer.js +0 -198
- package/dist/cjs/base/ui/choice_token.js +0 -93
- package/dist/cjs/base/ui/collaborator_token.js +0 -123
- package/dist/cjs/base/ui/color_palette.js +0 -196
- package/dist/cjs/base/ui/color_palette_synced.js +0 -69
- package/dist/cjs/base/ui/confirmation_dialog.js +0 -103
- package/dist/cjs/base/ui/control_sizes.js +0 -104
- package/dist/cjs/base/ui/create_detect_element_resize.js +0 -203
- package/dist/cjs/base/ui/css_helpers.js +0 -23
- package/dist/cjs/base/ui/dialog.js +0 -101
- package/dist/cjs/base/ui/dialog_close_button.js +0 -106
- package/dist/cjs/base/ui/field_icon.js +0 -44
- package/dist/cjs/base/ui/field_picker.js +0 -98
- package/dist/cjs/base/ui/field_picker_synced.js +0 -66
- package/dist/cjs/base/ui/form_field.js +0 -109
- package/dist/cjs/base/ui/geometry/geometry.js +0 -27
- package/dist/cjs/base/ui/geometry/point.js +0 -19
- package/dist/cjs/base/ui/geometry/rect.js +0 -51
- package/dist/cjs/base/ui/geometry/size.js +0 -19
- package/dist/cjs/base/ui/global_alert.js +0 -71
- package/dist/cjs/base/ui/heading.js +0 -132
- package/dist/cjs/base/ui/icon.js +0 -109
- package/dist/cjs/base/ui/icon_config.js +0 -428
- package/dist/cjs/base/ui/initialize_block.js +0 -122
- package/dist/cjs/base/ui/input.js +0 -161
- package/dist/cjs/base/ui/input_synced.js +0 -66
- package/dist/cjs/base/ui/key_codes.js +0 -73
- package/dist/cjs/base/ui/label.js +0 -80
- package/dist/cjs/base/ui/link.js +0 -196
- package/dist/cjs/base/ui/loader.js +0 -61
- package/dist/cjs/base/ui/modal.js +0 -145
- package/dist/cjs/base/ui/model_picker_select.js +0 -57
- package/dist/cjs/base/ui/popover.js +0 -315
- package/dist/cjs/base/ui/progress_bar.js +0 -115
- package/dist/cjs/base/ui/record_card.js +0 -564
- package/dist/cjs/base/ui/record_card_list.js +0 -303
- package/dist/cjs/base/ui/select.js +0 -191
- package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +0 -63
- package/dist/cjs/base/ui/select_buttons.js +0 -159
- package/dist/cjs/base/ui/select_buttons_synced.js +0 -62
- package/dist/cjs/base/ui/select_synced.js +0 -65
- package/dist/cjs/base/ui/switch.js +0 -167
- package/dist/cjs/base/ui/switch_synced.js +0 -53
- package/dist/cjs/base/ui/synced.js +0 -49
- package/dist/cjs/base/ui/system/all_styles_set.js +0 -92
- package/dist/cjs/base/ui/system/appearance/appearance_set.js +0 -27
- package/dist/cjs/base/ui/system/appearance/background_color.js +0 -18
- package/dist/cjs/base/ui/system/appearance/border.js +0 -54
- package/dist/cjs/base/ui/system/appearance/border_radius.js +0 -18
- package/dist/cjs/base/ui/system/appearance/box_shadow.js +0 -18
- package/dist/cjs/base/ui/system/appearance/opacity.js +0 -18
- package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +0 -29
- package/dist/cjs/base/ui/system/dimensions/height.js +0 -18
- package/dist/cjs/base/ui/system/dimensions/max_height.js +0 -18
- package/dist/cjs/base/ui/system/dimensions/max_width.js +0 -18
- package/dist/cjs/base/ui/system/dimensions/min_height.js +0 -18
- package/dist/cjs/base/ui/system/dimensions/min_width.js +0 -18
- package/dist/cjs/base/ui/system/dimensions/width.js +0 -18
- package/dist/cjs/base/ui/system/display.js +0 -19
- package/dist/cjs/base/ui/system/flex_container/align_content.js +0 -15
- package/dist/cjs/base/ui/system/flex_container/align_items.js +0 -15
- package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +0 -29
- package/dist/cjs/base/ui/system/flex_container/flex_direction.js +0 -15
- package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +0 -15
- package/dist/cjs/base/ui/system/flex_container/justify_content.js +0 -15
- package/dist/cjs/base/ui/system/flex_container/justify_items.js +0 -16
- package/dist/cjs/base/ui/system/flex_item/align_self.js +0 -15
- package/dist/cjs/base/ui/system/flex_item/flex.js +0 -15
- package/dist/cjs/base/ui/system/flex_item/flex_basis.js +0 -15
- package/dist/cjs/base/ui/system/flex_item/flex_grow.js +0 -15
- package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +0 -31
- package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +0 -15
- package/dist/cjs/base/ui/system/flex_item/justify_self.js +0 -16
- package/dist/cjs/base/ui/system/flex_item/order.js +0 -15
- package/dist/cjs/base/ui/system/index.js +0 -681
- package/dist/cjs/base/ui/system/overflow.js +0 -21
- package/dist/cjs/base/ui/system/position/bottom.js +0 -24
- package/dist/cjs/base/ui/system/position/left.js +0 -24
- package/dist/cjs/base/ui/system/position/position.js +0 -15
- package/dist/cjs/base/ui/system/position/position_set.js +0 -29
- package/dist/cjs/base/ui/system/position/right.js +0 -24
- package/dist/cjs/base/ui/system/position/top.js +0 -24
- package/dist/cjs/base/ui/system/position/z_index.js +0 -18
- package/dist/cjs/base/ui/system/spacing/margin.js +0 -72
- package/dist/cjs/base/ui/system/spacing/padding.js +0 -65
- package/dist/cjs/base/ui/system/spacing/spacing_set.js +0 -21
- package/dist/cjs/base/ui/system/typography/font_family.js +0 -18
- package/dist/cjs/base/ui/system/typography/font_size.js +0 -18
- package/dist/cjs/base/ui/system/typography/font_style.js +0 -15
- package/dist/cjs/base/ui/system/typography/font_weight.js +0 -18
- package/dist/cjs/base/ui/system/typography/letter_spacing.js +0 -18
- package/dist/cjs/base/ui/system/typography/line_height.js +0 -15
- package/dist/cjs/base/ui/system/typography/text_align.js +0 -15
- package/dist/cjs/base/ui/system/typography/text_color.js +0 -18
- package/dist/cjs/base/ui/system/typography/text_decoration.js +0 -15
- package/dist/cjs/base/ui/system/typography/text_transform.js +0 -15
- package/dist/cjs/base/ui/system/typography/typography_set.js +0 -37
- package/dist/cjs/base/ui/system/utils/csstype.js +0 -1
- package/dist/cjs/base/ui/system/utils/ensure_numbers_are_within_scale.js +0 -41
- package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -73
- package/dist/cjs/base/ui/system/utils/types.js +0 -1
- package/dist/cjs/base/ui/table_picker.js +0 -71
- package/dist/cjs/base/ui/table_picker_synced.js +0 -62
- package/dist/cjs/base/ui/text.js +0 -117
- package/dist/cjs/base/ui/text_button.js +0 -196
- package/dist/cjs/base/ui/theme/default_theme/button_variants.js +0 -59
- package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +0 -102
- package/dist/cjs/base/ui/theme/default_theme/heading_styles.js +0 -99
- package/dist/cjs/base/ui/theme/default_theme/index.js +0 -42
- package/dist/cjs/base/ui/theme/default_theme/input_variants.js +0 -38
- package/dist/cjs/base/ui/theme/default_theme/link_variants.js +0 -35
- package/dist/cjs/base/ui/theme/default_theme/select_buttons_variants.js +0 -72
- package/dist/cjs/base/ui/theme/default_theme/select_variants.js +0 -50
- package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +0 -85
- package/dist/cjs/base/ui/theme/default_theme/text_button_variants.js +0 -44
- package/dist/cjs/base/ui/theme/default_theme/text_styles.js +0 -81
- package/dist/cjs/base/ui/theme/default_theme/tokens.js +0 -211
- package/dist/cjs/base/ui/theme/theme_context.js +0 -13
- package/dist/cjs/base/ui/theme/use_theme.js +0 -11
- package/dist/cjs/base/ui/tooltip.js +0 -175
- package/dist/cjs/base/ui/types/aria_props.js +0 -1
- package/dist/cjs/base/ui/types/data_attributes_prop.js +0 -1
- package/dist/cjs/base/ui/types/tooltip_anchor_props.js +0 -1
- package/dist/cjs/base/ui/ui.js +0 -382
- package/dist/cjs/base/ui/unstable_standalone_ui.js +0 -179
- package/dist/cjs/base/ui/use_form_field.js +0 -20
- package/dist/cjs/base/ui/use_styled_system.js +0 -25
- package/dist/cjs/base/ui/use_text_color_for_background_color.js +0 -15
- package/dist/cjs/base/ui/view_picker.js +0 -89
- package/dist/cjs/base/ui/view_picker_synced.js +0 -66
- package/dist/cjs/base/ui/viewport_constraint.js +0 -129
- package/dist/cjs/base/ui/with_styled_system.js +0 -129
- package/dist/cjs/base/undo_redo.js +0 -37
- package/dist/cjs/base/unstable_testing_utils.js +0 -171
- package/dist/cjs/interface/assert_run_context.js +0 -12
- package/dist/cjs/interface/index.js +0 -22
- package/dist/cjs/interface/models/models.js +0 -54
- package/dist/cjs/interface/models/record_store.js +0 -51
- package/dist/cjs/interface/types/base.js +0 -1
- package/dist/cjs/interface/types/field.js +0 -1
- package/dist/cjs/interface/types/mutations.js +0 -17
- package/dist/cjs/interface/types/record.js +0 -1
- package/dist/cjs/interface/types/table.js +0 -1
- package/dist/cjs/interface/ui/block_wrapper.js +0 -69
- package/dist/cjs/interface/ui/initialize_block.js +0 -95
- package/dist/cjs/interface/ui/ui.js +0 -125
- package/dist/cjs/sdk_mode.js +0 -1
- package/dist/cjs/shared/color_utils.js +0 -58
- package/dist/cjs/shared/event_tracker.js +0 -28
- package/dist/cjs/shared/types/airtable_interface_core.js +0 -1
- package/dist/cjs/shared/types/attachment.js +0 -1
- package/dist/cjs/shared/types/base_core.js +0 -1
- package/dist/cjs/shared/types/collaborator.js +0 -1
- package/dist/cjs/shared/types/global_config.js +0 -1
- package/dist/cjs/shared/types/hyper_ids.js +0 -1
- package/dist/cjs/shared/types/mutation_constants.js +0 -11
- package/dist/cjs/shared/types/permission_levels.js +0 -17
- package/dist/cjs/shared/types/record.js +0 -1
- package/dist/cjs/shared/types/stat.js +0 -1
- package/dist/cjs/shared/types/table_core.js +0 -1
- package/dist/cjs/shared/ui/global_config_synced_component_helpers.js +0 -27
- package/dist/cjs/shared/ui/sdk_context.js +0 -17
- package/dist/cjs/shared/ui/use_base.js +0 -22
- package/dist/cjs/shared/ui/use_session.js +0 -21
- package/dist/cjs/shared/unstable_private_utils.js +0 -49
- package/dist/types/src/base/ui/baymax_utils.d.ts +0 -2
- package/dist/types/src/base/ui/baymax_utils.d.ts.map +0 -1
- package/dist/types/src/base/ui/box.d.ts +0 -35
- package/dist/types/src/base/ui/box.d.ts.map +0 -1
- package/dist/types/src/base/ui/button.d.ts +0 -86
- package/dist/types/src/base/ui/button.d.ts.map +0 -1
- package/dist/types/src/base/ui/choice_token.d.ts +0 -49
- package/dist/types/src/base/ui/choice_token.d.ts.map +0 -1
- package/dist/types/src/base/ui/collaborator_token.d.ts +0 -45
- package/dist/types/src/base/ui/collaborator_token.d.ts.map +0 -1
- package/dist/types/src/base/ui/color_palette.d.ts +0 -77
- package/dist/types/src/base/ui/color_palette.d.ts.map +0 -1
- package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -30
- package/dist/types/src/base/ui/color_palette_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -66
- package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +0 -1
- package/dist/types/src/base/ui/control_sizes.d.ts +0 -16
- package/dist/types/src/base/ui/control_sizes.d.ts.map +0 -1
- package/dist/types/src/base/ui/css_helpers.d.ts +0 -6
- package/dist/types/src/base/ui/css_helpers.d.ts.map +0 -1
- package/dist/types/src/base/ui/dialog.d.ts +0 -58
- package/dist/types/src/base/ui/dialog.d.ts.map +0 -1
- package/dist/types/src/base/ui/dialog_close_button.d.ts +0 -40
- package/dist/types/src/base/ui/dialog_close_button.d.ts.map +0 -1
- package/dist/types/src/base/ui/field_icon.d.ts +0 -25
- package/dist/types/src/base/ui/field_icon.d.ts.map +0 -1
- package/dist/types/src/base/ui/field_picker.d.ts +0 -34
- package/dist/types/src/base/ui/field_picker.d.ts.map +0 -1
- package/dist/types/src/base/ui/field_picker_synced.d.ts +0 -18
- package/dist/types/src/base/ui/field_picker_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/form_field.d.ts +0 -42
- package/dist/types/src/base/ui/form_field.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/geometry.d.ts +0 -3
- package/dist/types/src/base/ui/geometry/geometry.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/point.d.ts +0 -2
- package/dist/types/src/base/ui/geometry/point.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/rect.d.ts +0 -2
- package/dist/types/src/base/ui/geometry/rect.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/size.d.ts +0 -2
- package/dist/types/src/base/ui/geometry/size.d.ts.map +0 -1
- package/dist/types/src/base/ui/heading.d.ts +0 -64
- package/dist/types/src/base/ui/heading.d.ts.map +0 -1
- package/dist/types/src/base/ui/icon.d.ts +0 -45
- package/dist/types/src/base/ui/icon.d.ts.map +0 -1
- package/dist/types/src/base/ui/icon_config.d.ts +0 -424
- package/dist/types/src/base/ui/icon_config.d.ts.map +0 -1
- package/dist/types/src/base/ui/input.d.ts +0 -120
- package/dist/types/src/base/ui/input.d.ts.map +0 -1
- package/dist/types/src/base/ui/input_synced.d.ts +0 -18
- package/dist/types/src/base/ui/input_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/key_codes.d.ts +0 -2
- package/dist/types/src/base/ui/key_codes.d.ts.map +0 -1
- package/dist/types/src/base/ui/label.d.ts +0 -35
- package/dist/types/src/base/ui/label.d.ts.map +0 -1
- package/dist/types/src/base/ui/link.d.ts +0 -84
- package/dist/types/src/base/ui/link.d.ts.map +0 -1
- package/dist/types/src/base/ui/loader.d.ts +0 -38
- package/dist/types/src/base/ui/loader.d.ts.map +0 -1
- package/dist/types/src/base/ui/modal.d.ts +0 -54
- package/dist/types/src/base/ui/modal.d.ts.map +0 -1
- package/dist/types/src/base/ui/model_picker_select.d.ts +0 -19
- package/dist/types/src/base/ui/model_picker_select.d.ts.map +0 -1
- package/dist/types/src/base/ui/popover.d.ts +0 -106
- package/dist/types/src/base/ui/popover.d.ts.map +0 -1
- package/dist/types/src/base/ui/progress_bar.d.ts +0 -60
- package/dist/types/src/base/ui/progress_bar.d.ts.map +0 -1
- package/dist/types/src/base/ui/record_card.d.ts +0 -80
- package/dist/types/src/base/ui/record_card.d.ts.map +0 -1
- package/dist/types/src/base/ui/record_card_list.d.ts +0 -88
- package/dist/types/src/base/ui/record_card_list.d.ts.map +0 -1
- package/dist/types/src/base/ui/select.d.ts +0 -82
- package/dist/types/src/base/ui/select.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -25
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_buttons.d.ts +0 -56
- package/dist/types/src/base/ui/select_buttons.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_buttons_synced.d.ts +0 -18
- package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_synced.d.ts +0 -18
- package/dist/types/src/base/ui/select_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/switch.d.ts +0 -82
- package/dist/types/src/base/ui/switch.d.ts.map +0 -1
- package/dist/types/src/base/ui/switch_synced.d.ts +0 -18
- package/dist/types/src/base/ui/switch_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/synced.d.ts +0 -23
- package/dist/types/src/base/ui/synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -85
- package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -14
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -30
- package/dist/types/src/base/ui/system/appearance/border.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -15
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/display.d.ts +0 -13
- package/dist/types/src/base/ui/system/display.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -15
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -16
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/index.d.ts +0 -54
- package/dist/types/src/base/ui/system/index.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/overflow.d.ts +0 -17
- package/dist/types/src/base/ui/system/overflow.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/bottom.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/left.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/left.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/position.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/position.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -15
- package/dist/types/src/base/ui/system/position/position_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/right.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/right.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/top.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/top.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/z_index.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -24
- package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -24
- package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -11
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -16
- package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -14
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -19
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/csstype.d.ts +0 -3977
- package/dist/types/src/base/ui/system/utils/csstype.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/ensure_numbers_are_within_scale.d.ts +0 -2
- package/dist/types/src/base/ui/system/utils/ensure_numbers_are_within_scale.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/get_style_props_for_responsive_prop.d.ts +0 -2
- package/dist/types/src/base/ui/system/utils/get_style_props_for_responsive_prop.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/types.d.ts +0 -31
- package/dist/types/src/base/ui/system/utils/types.d.ts.map +0 -1
- package/dist/types/src/base/ui/table_picker.d.ts +0 -28
- package/dist/types/src/base/ui/table_picker.d.ts.map +0 -1
- package/dist/types/src/base/ui/table_picker_synced.d.ts +0 -18
- package/dist/types/src/base/ui/table_picker_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/text.d.ts +0 -66
- package/dist/types/src/base/ui/text.d.ts.map +0 -1
- package/dist/types/src/base/ui/text_button.d.ts +0 -83
- package/dist/types/src/base/ui/text_button.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/button_variants.d.ts +0 -8
- package/dist/types/src/base/ui/theme/default_theme/button_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/control_sizes.d.ts +0 -107
- package/dist/types/src/base/ui/theme/default_theme/control_sizes.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/heading_styles.d.ts +0 -11
- package/dist/types/src/base/ui/theme/default_theme/heading_styles.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/index.d.ts +0 -342
- package/dist/types/src/base/ui/theme/default_theme/index.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/input_variants.d.ts +0 -5
- package/dist/types/src/base/ui/theme/default_theme/input_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/link_variants.d.ts +0 -7
- package/dist/types/src/base/ui/theme/default_theme/link_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/select_buttons_variants.d.ts +0 -8
- package/dist/types/src/base/ui/theme/default_theme/select_buttons_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/select_variants.d.ts +0 -5
- package/dist/types/src/base/ui/theme/default_theme/select_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/switch_variants.d.ts +0 -16
- package/dist/types/src/base/ui/theme/default_theme/switch_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/text_button_variants.d.ts +0 -7
- package/dist/types/src/base/ui/theme/default_theme/text_button_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/text_styles.d.ts +0 -76
- package/dist/types/src/base/ui/theme/default_theme/text_styles.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/tokens.d.ts +0 -111
- package/dist/types/src/base/ui/theme/default_theme/tokens.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/theme_context.d.ts +0 -342
- package/dist/types/src/base/ui/theme/theme_context.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/use_theme.d.ts +0 -342
- package/dist/types/src/base/ui/theme/use_theme.d.ts.map +0 -1
- package/dist/types/src/base/ui/tooltip.d.ts +0 -64
- package/dist/types/src/base/ui/tooltip.d.ts.map +0 -1
- package/dist/types/src/base/ui/types/aria_props.d.ts +0 -22
- package/dist/types/src/base/ui/types/aria_props.d.ts.map +0 -1
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -10
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +0 -1
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -13
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +0 -1
- package/dist/types/src/base/ui/use_form_field.d.ts +0 -2
- package/dist/types/src/base/ui/use_form_field.d.ts.map +0 -1
- package/dist/types/src/base/ui/use_styled_system.d.ts +0 -2
- package/dist/types/src/base/ui/use_styled_system.d.ts.map +0 -1
- package/dist/types/src/base/ui/use_text_color_for_background_color.d.ts +0 -2
- package/dist/types/src/base/ui/use_text_color_for_background_color.d.ts.map +0 -1
- package/dist/types/src/base/ui/view_picker.d.ts +0 -34
- package/dist/types/src/base/ui/view_picker.d.ts.map +0 -1
- package/dist/types/src/base/ui/view_picker_synced.d.ts +0 -18
- package/dist/types/src/base/ui/view_picker_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/viewport_constraint.d.ts +0 -57
- package/dist/types/src/base/ui/viewport_constraint.d.ts.map +0 -1
- package/dist/types/src/base/ui/with_styled_system.d.ts +0 -2
- package/dist/types/src/base/ui/with_styled_system.d.ts.map +0 -1
- package/types/styled-system__core.d.ts +0 -41
|
@@ -1,21 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _record_core = require("../../shared/models/record_core");
|
|
8
|
-
var _private_utils = require("../../shared/private_utils");
|
|
9
|
-
var _error_utils = require("../../shared/error_utils");
|
|
10
|
-
var _color_utils = _interopRequireDefault(require("../../shared/color_utils"));
|
|
11
|
-
var _linked_records_query_result = _interopRequireDefault(require("./linked_records_query_result"));
|
|
12
|
-
var _object_pool = _interopRequireDefault(require("./object_pool"));
|
|
13
|
-
var _record_query_result = _interopRequireDefault(require("./record_query_result"));
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
1
|
/** @module @airtable/blocks/models: Record */ /** */
|
|
16
2
|
|
|
3
|
+
import { RecordCore, WatchableRecordKeysCore } from '../../shared/models/record_core';
|
|
4
|
+
import { isEnumValue, isObjectEmpty } from '../../shared/private_utils';
|
|
5
|
+
import { invariant } from '../../shared/error_utils';
|
|
6
|
+
import colorUtils from '../../shared/color_utils';
|
|
7
|
+
import LinkedRecordsQueryResult from './linked_records_query_result';
|
|
8
|
+
import ObjectPool from './object_pool';
|
|
9
|
+
import RecordQueryResult from './record_query_result';
|
|
17
10
|
const WatchableRecordKeys = Object.freeze({
|
|
18
|
-
...
|
|
11
|
+
...WatchableRecordKeysCore,
|
|
19
12
|
commentCount: 'commentCount'
|
|
20
13
|
});
|
|
21
14
|
// TODO: load cell values in field when this is watched? This will
|
|
@@ -41,12 +34,12 @@ const WatchableColorInViewKeyPrefix = 'colorInView:';
|
|
|
41
34
|
*
|
|
42
35
|
* @docsPath models/Record
|
|
43
36
|
*/
|
|
44
|
-
class Record extends
|
|
37
|
+
class Record extends RecordCore {
|
|
45
38
|
/** @internal */
|
|
46
39
|
static _className = 'Record';
|
|
47
40
|
/** @internal */
|
|
48
41
|
static _isWatchableKey(key) {
|
|
49
|
-
return
|
|
42
|
+
return isEnumValue(WatchableRecordKeys, key) || key.startsWith(WatchableCellValueInFieldKeyPrefix) || key.startsWith(WatchableColorInViewKeyPrefix);
|
|
50
43
|
}
|
|
51
44
|
/** @internal */
|
|
52
45
|
|
|
@@ -55,7 +48,7 @@ class Record extends _record_core.RecordCore {
|
|
|
55
48
|
*/
|
|
56
49
|
constructor(sdk, parentRecordStore, parentTable, recordId) {
|
|
57
50
|
super(sdk, parentRecordStore, parentTable, recordId);
|
|
58
|
-
this.__linkedRecordsQueryResultPool = new
|
|
51
|
+
this.__linkedRecordsQueryResultPool = new ObjectPool(LinkedRecordsQueryResult);
|
|
59
52
|
}
|
|
60
53
|
/**
|
|
61
54
|
* @internal
|
|
@@ -77,11 +70,11 @@ class Record extends _record_core.RecordCore {
|
|
|
77
70
|
*/
|
|
78
71
|
getCellValueAsString(fieldOrFieldIdOrFieldName) {
|
|
79
72
|
const field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
|
|
80
|
-
|
|
73
|
+
invariant(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
|
|
81
74
|
return super.getCellValueAsString(field.id);
|
|
82
75
|
}
|
|
83
76
|
_getRawCellValue(field) {
|
|
84
|
-
|
|
77
|
+
invariant(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
|
|
85
78
|
return super._getRawCellValue(field);
|
|
86
79
|
}
|
|
87
80
|
|
|
@@ -148,7 +141,7 @@ class Record extends _record_core.RecordCore {
|
|
|
148
141
|
if (!color) {
|
|
149
142
|
return null;
|
|
150
143
|
}
|
|
151
|
-
return
|
|
144
|
+
return colorUtils.getHexForColor(color);
|
|
152
145
|
}
|
|
153
146
|
/**
|
|
154
147
|
* Select records referenced in a `multipleRecordLinks` cell value. Returns a query result
|
|
@@ -162,10 +155,10 @@ class Record extends _record_core.RecordCore {
|
|
|
162
155
|
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
163
156
|
const field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
|
|
164
157
|
const linkedTableId = field.options && field.options.linkedTableId;
|
|
165
|
-
|
|
158
|
+
invariant(typeof linkedTableId === 'string', 'linkedTableId must be set');
|
|
166
159
|
const linkedTable = this._sdk.base.getTableById(linkedTableId);
|
|
167
160
|
const linkedRecordStore = this._sdk.base.__getRecordStore(linkedTableId);
|
|
168
|
-
const normalizedOpts =
|
|
161
|
+
const normalizedOpts = RecordQueryResult._normalizeOpts(linkedTable, linkedRecordStore, opts);
|
|
169
162
|
return this.__linkedRecordsQueryResultPool.getObjectForReuse(this, field, normalizedOpts, this._sdk);
|
|
170
163
|
}
|
|
171
164
|
/**
|
|
@@ -220,7 +213,7 @@ class Record extends _record_core.RecordCore {
|
|
|
220
213
|
cellValuesByFieldId,
|
|
221
214
|
commentCount
|
|
222
215
|
} = dirtyPaths;
|
|
223
|
-
if (cellValuesByFieldId && !
|
|
216
|
+
if (cellValuesByFieldId && !isObjectEmpty(cellValuesByFieldId)) {
|
|
224
217
|
for (const fieldId of Object.keys(cellValuesByFieldId)) {
|
|
225
218
|
this._onChange(WatchableCellValueInFieldKeyPrefix + fieldId, fieldId);
|
|
226
219
|
}
|
|
@@ -236,4 +229,4 @@ class Record extends _record_core.RecordCore {
|
|
|
236
229
|
this._onChange(WatchableColorInViewKeyPrefix + viewId);
|
|
237
230
|
}
|
|
238
231
|
}
|
|
239
|
-
|
|
232
|
+
export default Record;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.serialize = exports.modes = exports.ModeTypes = void 0;
|
|
7
1
|
/** @module @airtable/blocks/models: Record Coloring */ /** */
|
|
8
2
|
|
|
9
3
|
// TODO(emma): update this to be an enum
|
|
@@ -13,7 +7,7 @@ exports.serialize = exports.modes = exports.ModeTypes = void 0;
|
|
|
13
7
|
* @hidden
|
|
14
8
|
* @alias recordColoring.ModeTypes
|
|
15
9
|
*/
|
|
16
|
-
const ModeTypes =
|
|
10
|
+
export const ModeTypes = {
|
|
17
11
|
/**
|
|
18
12
|
* @alias recordColoring.ModeTypes.NONE
|
|
19
13
|
*/
|
|
@@ -40,7 +34,7 @@ const ModeTypes = exports.ModeTypes = {
|
|
|
40
34
|
|
|
41
35
|
/** */
|
|
42
36
|
|
|
43
|
-
const serialize = mode => {
|
|
37
|
+
export const serialize = mode => {
|
|
44
38
|
let result = mode.type;
|
|
45
39
|
if (mode.type === ModeTypes.BY_SELECT_FIELD) {
|
|
46
40
|
result += `-${mode.selectField.id}`;
|
|
@@ -73,8 +67,7 @@ const serialize = mode => {
|
|
|
73
67
|
* const queryResult = table.selectRecords({ recordColorMode });
|
|
74
68
|
* ```
|
|
75
69
|
*/
|
|
76
|
-
|
|
77
|
-
const modes = exports.modes = {
|
|
70
|
+
export const modes = {
|
|
78
71
|
/**
|
|
79
72
|
* Returns a {@link RecordColorMode} that represents no record coloring.
|
|
80
73
|
*
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
exports.normalizeSortsOrGroups = normalizeSortsOrGroups;
|
|
8
|
-
var _colors = _interopRequireDefault(require("../../shared/colors"));
|
|
9
|
-
var _field_core = require("../../shared/types/field_core");
|
|
10
|
-
var _private_utils = require("../../shared/private_utils");
|
|
11
|
-
var _error_utils = require("../../shared/error_utils");
|
|
12
|
-
var _abstract_model_with_async_data = _interopRequireDefault(require("./abstract_model_with_async_data"));
|
|
13
|
-
var _field = _interopRequireDefault(require("./field"));
|
|
14
|
-
var _record_coloring = require("./record_coloring");
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
1
|
/** @module @airtable/blocks/models: RecordQueryResult */ /** */
|
|
17
|
-
|
|
2
|
+
import Colors from '../../shared/colors';
|
|
3
|
+
import { FieldType } from '../../shared/types/field_core';
|
|
4
|
+
import { isEnumValue, assertEnumValue, getLocallyUniqueId, cast } from '../../shared/private_utils';
|
|
5
|
+
import { spawnUnknownSwitchCaseError, spawnError, invariant } from '../../shared/error_utils';
|
|
6
|
+
import AbstractModelWithAsyncData from './abstract_model_with_async_data';
|
|
7
|
+
import Field from './field';
|
|
8
|
+
import { ModeTypes as RecordColorModeTypes, modes as recordColorModes, serialize as serializeColorMode } from './record_coloring';
|
|
18
9
|
const WatchableRecordQueryResultKeys = Object.freeze({
|
|
19
10
|
records: 'records',
|
|
20
11
|
recordIds: 'recordIds',
|
|
@@ -200,7 +191,7 @@ const WatchableCellValuesInFieldKeyPrefix = 'cellValuesInField:';
|
|
|
200
191
|
function _normalizeSortOrGroup(table, sortOrGroup) {
|
|
201
192
|
const field = table.__getFieldMatching(sortOrGroup.field);
|
|
202
193
|
if (sortOrGroup.direction !== undefined && sortOrGroup.direction !== 'asc' && sortOrGroup.direction !== 'desc') {
|
|
203
|
-
throw
|
|
194
|
+
throw spawnError('Invalid sort direction: %s', sortOrGroup.direction);
|
|
204
195
|
}
|
|
205
196
|
return {
|
|
206
197
|
fieldId: field.id,
|
|
@@ -211,7 +202,7 @@ function _normalizeSortOrGroup(table, sortOrGroup) {
|
|
|
211
202
|
/**
|
|
212
203
|
* @internal
|
|
213
204
|
*/
|
|
214
|
-
function normalizeSortsOrGroups(table, sortsOrGroups) {
|
|
205
|
+
export function normalizeSortsOrGroups(table, sortsOrGroups) {
|
|
215
206
|
if (sortsOrGroups === undefined || sortsOrGroups === null) {
|
|
216
207
|
return sortsOrGroups;
|
|
217
208
|
}
|
|
@@ -266,7 +257,7 @@ function normalizeSortsOrGroups(table, sortsOrGroups) {
|
|
|
266
257
|
*
|
|
267
258
|
* @docsPath models/query results/RecordQueryResult
|
|
268
259
|
*/
|
|
269
|
-
class RecordQueryResult extends
|
|
260
|
+
class RecordQueryResult extends AbstractModelWithAsyncData {
|
|
270
261
|
// Abstract properties - classes extending QueryResult must override these:
|
|
271
262
|
/** @internal */
|
|
272
263
|
static _className = 'RecordQueryResult';
|
|
@@ -302,7 +293,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
302
293
|
static WatchableCellValuesInFieldKeyPrefix = WatchableCellValuesInFieldKeyPrefix;
|
|
303
294
|
/** @internal */
|
|
304
295
|
static _isWatchableKey(key) {
|
|
305
|
-
return
|
|
296
|
+
return isEnumValue(WatchableRecordQueryResultKeys, key) || key.startsWith(WatchableCellValuesInFieldKeyPrefix);
|
|
306
297
|
}
|
|
307
298
|
/** @internal */
|
|
308
299
|
static _shouldLoadDataForKey(key) {
|
|
@@ -314,7 +305,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
314
305
|
const sorts = normalizeSortsOrGroups(table, opts.sorts) ?? null;
|
|
315
306
|
let fieldIdsOrNullIfAllFields = null;
|
|
316
307
|
if (opts.fields) {
|
|
317
|
-
|
|
308
|
+
invariant(Array.isArray(opts.fields), 'Must specify an array of fields');
|
|
318
309
|
fieldIdsOrNullIfAllFields = [];
|
|
319
310
|
for (const fieldOrFieldIdOrFieldName of opts.fields) {
|
|
320
311
|
if (!fieldOrFieldIdOrFieldName) {
|
|
@@ -322,31 +313,31 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
322
313
|
// can conveniently list conditional fields, e.g. [field1, isFoo && field2]
|
|
323
314
|
continue;
|
|
324
315
|
}
|
|
325
|
-
if (typeof fieldOrFieldIdOrFieldName !== 'string' && !(fieldOrFieldIdOrFieldName instanceof
|
|
326
|
-
throw
|
|
316
|
+
if (typeof fieldOrFieldIdOrFieldName !== 'string' && !(fieldOrFieldIdOrFieldName instanceof Field)) {
|
|
317
|
+
throw spawnError('Invalid value for field, expected a field, id, or name but got: %s', fieldOrFieldIdOrFieldName);
|
|
327
318
|
}
|
|
328
319
|
const field = table.__getFieldMatching(fieldOrFieldIdOrFieldName);
|
|
329
320
|
fieldIdsOrNullIfAllFields.push(field.id);
|
|
330
321
|
}
|
|
331
322
|
}
|
|
332
|
-
const recordColorMode = opts.recordColorMode ||
|
|
323
|
+
const recordColorMode = opts.recordColorMode || recordColorModes.none();
|
|
333
324
|
switch (recordColorMode.type) {
|
|
334
|
-
case
|
|
325
|
+
case RecordColorModeTypes.NONE:
|
|
335
326
|
break;
|
|
336
|
-
case
|
|
337
|
-
|
|
338
|
-
|
|
327
|
+
case RecordColorModeTypes.BY_SELECT_FIELD:
|
|
328
|
+
invariant(recordColorMode.selectField.type === FieldType.SINGLE_SELECT, 'Invalid field for coloring records by select field: expected a %s, but got a %s', FieldType.SINGLE_SELECT, recordColorMode.selectField.type);
|
|
329
|
+
invariant(recordColorMode.selectField.parentTable === table, 'Invalid field for coloring records by select field: the single select field is not in the same table as the records');
|
|
339
330
|
if (fieldIdsOrNullIfAllFields) {
|
|
340
331
|
fieldIdsOrNullIfAllFields.push(recordColorMode.selectField.id);
|
|
341
332
|
}
|
|
342
333
|
break;
|
|
343
|
-
case
|
|
344
|
-
|
|
334
|
+
case RecordColorModeTypes.BY_VIEW:
|
|
335
|
+
invariant(recordColorMode.view.parentTable === table, 'Invalid view for coloring records from view: the view is not in the same table as the records');
|
|
345
336
|
break;
|
|
346
337
|
default:
|
|
347
|
-
throw
|
|
338
|
+
throw spawnError('Unknown record coloring mode type: %s', cast(recordColorMode).type);
|
|
348
339
|
}
|
|
349
|
-
|
|
340
|
+
invariant(table.id === recordStore.tableId, 'record store and table must match');
|
|
350
341
|
return {
|
|
351
342
|
sorts,
|
|
352
343
|
fieldIdsOrNullIfAllFields,
|
|
@@ -367,7 +358,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
367
358
|
* @internal
|
|
368
359
|
*/
|
|
369
360
|
constructor(sdk, normalizedOpts) {
|
|
370
|
-
super(sdk,
|
|
361
|
+
super(sdk, getLocallyUniqueId('RecordQueryResult'));
|
|
371
362
|
this._normalizedOpts = normalizedOpts;
|
|
372
363
|
this._recordStore = normalizedOpts.recordStore;
|
|
373
364
|
}
|
|
@@ -376,7 +367,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
376
367
|
* @internal
|
|
377
368
|
*/
|
|
378
369
|
get _serializedOpts() {
|
|
379
|
-
return JSON.stringify([this._normalizedOpts.sorts, this._normalizedOpts.fieldIdsOrNullIfAllFields, this._normalizedOpts.table.id, (
|
|
370
|
+
return JSON.stringify([this._normalizedOpts.sorts, this._normalizedOpts.fieldIdsOrNullIfAllFields, this._normalizedOpts.table.id, serializeColorMode(this._normalizedOpts.recordColorMode)]);
|
|
380
371
|
}
|
|
381
372
|
|
|
382
373
|
/**
|
|
@@ -387,7 +378,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
387
378
|
get records() {
|
|
388
379
|
return this.recordIds.map(recordId => {
|
|
389
380
|
const record = this._recordStore.getRecordByIdIfExists(recordId);
|
|
390
|
-
|
|
381
|
+
invariant(record, 'Record missing in table');
|
|
391
382
|
return record;
|
|
392
383
|
});
|
|
393
384
|
}
|
|
@@ -415,7 +406,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
415
406
|
getRecordById(recordId) {
|
|
416
407
|
const record = this.getRecordByIdIfExists(recordId);
|
|
417
408
|
if (!record) {
|
|
418
|
-
throw
|
|
409
|
+
throw spawnError('No record with ID %s in this query result', recordId);
|
|
419
410
|
}
|
|
420
411
|
return record;
|
|
421
412
|
}
|
|
@@ -449,21 +440,21 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
449
440
|
const record = this._getRecord(recordOrRecordId);
|
|
450
441
|
const recordColorMode = this._normalizedOpts.recordColorMode;
|
|
451
442
|
switch (recordColorMode.type) {
|
|
452
|
-
case
|
|
443
|
+
case RecordColorModeTypes.NONE:
|
|
453
444
|
return null;
|
|
454
|
-
case
|
|
445
|
+
case RecordColorModeTypes.BY_SELECT_FIELD:
|
|
455
446
|
{
|
|
456
|
-
if (recordColorMode.selectField.type !==
|
|
447
|
+
if (recordColorMode.selectField.type !== FieldType.SINGLE_SELECT) {
|
|
457
448
|
return null;
|
|
458
449
|
}
|
|
459
450
|
const value = record.getCellValue(recordColorMode.selectField);
|
|
460
|
-
return value && typeof value === 'object' && typeof value.color === 'string' ?
|
|
451
|
+
return value && typeof value === 'object' && typeof value.color === 'string' ? assertEnumValue(Colors, value.color) : null;
|
|
461
452
|
}
|
|
462
|
-
case
|
|
453
|
+
case RecordColorModeTypes.BY_VIEW:
|
|
463
454
|
return this._recordStore.getViewDataStore(recordColorMode.view.id).getRecordColor(record);
|
|
464
455
|
// istanbul ignore next
|
|
465
456
|
default:
|
|
466
|
-
throw
|
|
457
|
+
throw spawnError('Unknown record coloring mode type: %s', cast(recordColorMode).type);
|
|
467
458
|
}
|
|
468
459
|
}
|
|
469
460
|
|
|
@@ -535,7 +526,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
535
526
|
* @internal
|
|
536
527
|
*/
|
|
537
528
|
_watchRecordColorsIfNeeded() {
|
|
538
|
-
|
|
529
|
+
invariant(this._changeWatchersByKey[WatchableRecordQueryResultKeys.recordColors], 'method may only be called when `recordColors` key has been watched');
|
|
539
530
|
const watchCount = this._changeWatchersByKey[WatchableRecordQueryResultKeys.recordColors].length;
|
|
540
531
|
if (!this._recordColorChangeHandler && watchCount >= 1) {
|
|
541
532
|
this._watchRecordColors();
|
|
@@ -555,20 +546,20 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
555
546
|
}
|
|
556
547
|
};
|
|
557
548
|
switch (recordColorMode.type) {
|
|
558
|
-
case
|
|
549
|
+
case RecordColorModeTypes.NONE:
|
|
559
550
|
break;
|
|
560
|
-
case
|
|
551
|
+
case RecordColorModeTypes.BY_SELECT_FIELD:
|
|
561
552
|
this.watch(`${WatchableCellValuesInFieldKeyPrefix}${recordColorMode.selectField.id}`, handler);
|
|
562
553
|
recordColorMode.selectField.watch('options', handler);
|
|
563
554
|
break;
|
|
564
|
-
case
|
|
555
|
+
case RecordColorModeTypes.BY_VIEW:
|
|
565
556
|
{
|
|
566
557
|
this._recordStore.getViewDataStore(recordColorMode.view.id).watch('recordColors', handler);
|
|
567
558
|
break;
|
|
568
559
|
}
|
|
569
560
|
// istanbul ignore next
|
|
570
561
|
default:
|
|
571
|
-
throw
|
|
562
|
+
throw spawnError('Unknown record coloring mode type: %s', cast(recordColorMode).type);
|
|
572
563
|
}
|
|
573
564
|
this._recordColorChangeHandler = handler;
|
|
574
565
|
}
|
|
@@ -589,15 +580,15 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
589
580
|
_unwatchRecordColors() {
|
|
590
581
|
const recordColorMode = this._normalizedOpts.recordColorMode;
|
|
591
582
|
const handler = this._recordColorChangeHandler;
|
|
592
|
-
|
|
583
|
+
invariant(handler, 'record color change handler must exist');
|
|
593
584
|
switch (recordColorMode.type) {
|
|
594
|
-
case
|
|
585
|
+
case RecordColorModeTypes.NONE:
|
|
595
586
|
break;
|
|
596
|
-
case
|
|
587
|
+
case RecordColorModeTypes.BY_SELECT_FIELD:
|
|
597
588
|
this.unwatch(`${WatchableCellValuesInFieldKeyPrefix}${recordColorMode.selectField.id}`, handler);
|
|
598
589
|
recordColorMode.selectField.unwatch('options', handler);
|
|
599
590
|
break;
|
|
600
|
-
case
|
|
591
|
+
case RecordColorModeTypes.BY_VIEW:
|
|
601
592
|
{
|
|
602
593
|
if (!recordColorMode.view.isDeleted) {
|
|
603
594
|
this._recordStore.getViewDataStore(recordColorMode.view.id).unwatch('recordColors', handler);
|
|
@@ -606,7 +597,7 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
606
597
|
}
|
|
607
598
|
// istanbul ignore next
|
|
608
599
|
default:
|
|
609
|
-
throw
|
|
600
|
+
throw spawnError('Unknown record coloring mode type: %s', cast(recordColorMode).type);
|
|
610
601
|
}
|
|
611
602
|
this._recordColorChangeHandler = null;
|
|
612
603
|
}
|
|
@@ -617,18 +608,18 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
617
608
|
async _loadRecordColorsAsync() {
|
|
618
609
|
const recordColorMode = this._normalizedOpts.recordColorMode;
|
|
619
610
|
switch (recordColorMode.type) {
|
|
620
|
-
case
|
|
611
|
+
case RecordColorModeTypes.NONE:
|
|
621
612
|
return;
|
|
622
|
-
case
|
|
613
|
+
case RecordColorModeTypes.BY_SELECT_FIELD:
|
|
623
614
|
// The select field id gets added to fieldIdsOrNullIfAllFields,
|
|
624
615
|
// so we don't need to handle it here
|
|
625
616
|
return;
|
|
626
|
-
case
|
|
617
|
+
case RecordColorModeTypes.BY_VIEW:
|
|
627
618
|
await this._recordStore.getViewDataStore(recordColorMode.view.id).loadDataAsync();
|
|
628
619
|
return;
|
|
629
620
|
// istanbul ignore next
|
|
630
621
|
default:
|
|
631
|
-
throw
|
|
622
|
+
throw spawnUnknownSwitchCaseError('record color mode type', recordColorMode, 'type');
|
|
632
623
|
}
|
|
633
624
|
}
|
|
634
625
|
|
|
@@ -638,20 +629,20 @@ class RecordQueryResult extends _abstract_model_with_async_data.default {
|
|
|
638
629
|
_unloadRecordColors() {
|
|
639
630
|
const recordColorMode = this._normalizedOpts.recordColorMode;
|
|
640
631
|
switch (recordColorMode.type) {
|
|
641
|
-
case
|
|
632
|
+
case RecordColorModeTypes.NONE:
|
|
642
633
|
return;
|
|
643
|
-
case
|
|
634
|
+
case RecordColorModeTypes.BY_SELECT_FIELD:
|
|
644
635
|
// handled as part of fieldIdsOrNullIfAllFields
|
|
645
636
|
return;
|
|
646
|
-
case
|
|
637
|
+
case RecordColorModeTypes.BY_VIEW:
|
|
647
638
|
if (!recordColorMode.view.isDeleted) {
|
|
648
639
|
this._recordStore.getViewDataStore(recordColorMode.view.id).unloadData();
|
|
649
640
|
}
|
|
650
641
|
break;
|
|
651
642
|
// istanbul ignore next
|
|
652
643
|
default:
|
|
653
|
-
throw
|
|
644
|
+
throw spawnUnknownSwitchCaseError('record color mode type', recordColorMode, 'type');
|
|
654
645
|
}
|
|
655
646
|
}
|
|
656
647
|
}
|
|
657
|
-
|
|
648
|
+
export default RecordQueryResult;
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _record_store_core = _interopRequireWildcard(require("../../shared/models/record_store_core"));
|
|
10
|
-
var _abstract_model_with_async_data = _interopRequireDefault(require("./abstract_model_with_async_data"));
|
|
11
|
-
var _record = _interopRequireDefault(require("./record"));
|
|
12
|
-
var _view_data_store = _interopRequireDefault(require("./view_data_store"));
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
-
const WatchableRecordStoreKeys = exports.WatchableRecordStoreKeys = Object.freeze({
|
|
17
|
-
..._record_store_core.WatchableRecordStoreKeysCore
|
|
1
|
+
import { fireAndForgetPromise, entries, has, values, cast, keys as objectKeys, isEnumValue } from '../../shared/private_utils';
|
|
2
|
+
import { invariant, logErrorToSentry } from '../../shared/error_utils';
|
|
3
|
+
import RecordStoreCore, { WatchableCellValuesInFieldKeyPrefix, WatchableRecordStoreKeysCore } from '../../shared/models/record_store_core';
|
|
4
|
+
import AbstractModelWithAsyncData from './abstract_model_with_async_data';
|
|
5
|
+
import Record from './record';
|
|
6
|
+
import ViewDataStore from './view_data_store';
|
|
7
|
+
export const WatchableRecordStoreKeys = Object.freeze({
|
|
8
|
+
...WatchableRecordStoreKeysCore
|
|
18
9
|
});
|
|
19
10
|
|
|
20
11
|
/**
|
|
@@ -29,10 +20,10 @@ const WatchableRecordStoreKeys = exports.WatchableRecordStoreKeys = Object.freez
|
|
|
29
20
|
*
|
|
30
21
|
* @internal
|
|
31
22
|
*/
|
|
32
|
-
class RecordStore extends
|
|
23
|
+
class RecordStore extends RecordStoreCore {
|
|
33
24
|
static _className = 'RecordStore';
|
|
34
25
|
static _isWatchableKey(key) {
|
|
35
|
-
return
|
|
26
|
+
return isEnumValue(WatchableRecordStoreKeys, key) || key.startsWith(WatchableCellValuesInFieldKeyPrefix);
|
|
36
27
|
}
|
|
37
28
|
_viewDataStoresByViewId = {};
|
|
38
29
|
constructor(sdk, tableId) {
|
|
@@ -44,7 +35,7 @@ class RecordStore extends _record_store_core.default {
|
|
|
44
35
|
this._loader = new RecordStoreAsyncLoader(sdk, tableId, onChange, clearRecordModels);
|
|
45
36
|
}
|
|
46
37
|
_constructRecord(recordId, parentTable) {
|
|
47
|
-
return new
|
|
38
|
+
return new Record(this._sdk, this, parentTable, recordId);
|
|
48
39
|
}
|
|
49
40
|
get _dataOrNullIfDeleted() {
|
|
50
41
|
return this._loader._dataOrNullIfDeleted;
|
|
@@ -53,8 +44,8 @@ class RecordStore extends _record_store_core.default {
|
|
|
53
44
|
if (this._viewDataStoresByViewId[viewId]) {
|
|
54
45
|
return this._viewDataStoresByViewId[viewId];
|
|
55
46
|
}
|
|
56
|
-
|
|
57
|
-
const viewDataStore = new
|
|
47
|
+
invariant(this._data.viewsById[viewId], 'view must exist');
|
|
48
|
+
const viewDataStore = new ViewDataStore(this._sdk, this, viewId);
|
|
58
49
|
this._viewDataStoresByViewId[viewId] = viewDataStore;
|
|
59
50
|
return viewDataStore;
|
|
60
51
|
}
|
|
@@ -62,7 +53,7 @@ class RecordStore extends _record_store_core.default {
|
|
|
62
53
|
const validKeys = super.watch(keys, callback, context);
|
|
63
54
|
const fieldIdsToLoad = this._loader._getFieldIdsToLoadFromWatchableKeys(validKeys);
|
|
64
55
|
if (fieldIdsToLoad.length > 0) {
|
|
65
|
-
|
|
56
|
+
fireAndForgetPromise(async () => {
|
|
66
57
|
await this._loader.loadCellValuesInFieldIdsAsync(fieldIdsToLoad, this._onChange.bind(this));
|
|
67
58
|
});
|
|
68
59
|
}
|
|
@@ -83,7 +74,7 @@ class RecordStore extends _record_store_core.default {
|
|
|
83
74
|
*/
|
|
84
75
|
get recordIds() {
|
|
85
76
|
const recordsById = this._data.recordsById;
|
|
86
|
-
|
|
77
|
+
invariant(recordsById, 'Record metadata is not loaded');
|
|
87
78
|
return Object.keys(recordsById);
|
|
88
79
|
}
|
|
89
80
|
__onDataDeletion() {
|
|
@@ -99,7 +90,7 @@ class RecordStore extends _record_store_core.default {
|
|
|
99
90
|
|
|
100
91
|
// similarly unsubscribe from the view data.
|
|
101
92
|
// this comes after _forceUnload to avoid over releasing the table data.
|
|
102
|
-
for (const viewDataStore of
|
|
93
|
+
for (const viewDataStore of values(this._viewDataStoresByViewId)) {
|
|
103
94
|
viewDataStore.__onDataDeletion();
|
|
104
95
|
}
|
|
105
96
|
}
|
|
@@ -144,7 +135,7 @@ class RecordStore extends _record_store_core.default {
|
|
|
144
135
|
}
|
|
145
136
|
if (dirtyPaths.viewOrder) {
|
|
146
137
|
// clean up deleted views
|
|
147
|
-
for (const [viewId, viewDataStore] of
|
|
138
|
+
for (const [viewId, viewDataStore] of entries(this._viewDataStoresByViewId)) {
|
|
148
139
|
if (viewDataStore.isDeleted) {
|
|
149
140
|
viewDataStore.__onDataDeletion();
|
|
150
141
|
delete this._viewDataStoresByViewId[viewId];
|
|
@@ -155,7 +146,7 @@ class RecordStore extends _record_store_core.default {
|
|
|
155
146
|
}
|
|
156
147
|
|
|
157
148
|
/** @internal */
|
|
158
|
-
class RecordStoreAsyncLoader extends
|
|
149
|
+
class RecordStoreAsyncLoader extends AbstractModelWithAsyncData {
|
|
159
150
|
static _shouldLoadDataForKey(key) {
|
|
160
151
|
// "Data" means *all* cell values in the table. If only watching records/recordIds,
|
|
161
152
|
// we'll just load record metadata (id, createdTime, commentCount).
|
|
@@ -204,8 +195,8 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
204
195
|
_getFieldIdsToLoadFromWatchableKeys(keys) {
|
|
205
196
|
const fieldIdsToLoad = [];
|
|
206
197
|
for (const key of keys) {
|
|
207
|
-
if (key.startsWith(
|
|
208
|
-
const fieldId = key.substring(
|
|
198
|
+
if (key.startsWith(WatchableCellValuesInFieldKeyPrefix)) {
|
|
199
|
+
const fieldId = key.substring(WatchableCellValuesInFieldKeyPrefix.length);
|
|
209
200
|
fieldIdsToLoad.push(fieldId);
|
|
210
201
|
} else if (key === WatchableRecordStoreKeys.records || key === WatchableRecordStoreKeys.recordIds) {
|
|
211
202
|
fieldIdsToLoad.push(this._getFieldIdForCausingRecordMetadataToLoad());
|
|
@@ -294,8 +285,8 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
294
285
|
const {
|
|
295
286
|
recordsById: existingRecordsById
|
|
296
287
|
} = this._data;
|
|
297
|
-
for (const [recordId, newRecordObj] of
|
|
298
|
-
if (!
|
|
288
|
+
for (const [recordId, newRecordObj] of entries(cast(newRecordsById))) {
|
|
289
|
+
if (!has(existingRecordsById, recordId)) {
|
|
299
290
|
existingRecordsById[recordId] = newRecordObj;
|
|
300
291
|
} else {
|
|
301
292
|
const existingRecordObj = existingRecordsById[recordId];
|
|
@@ -307,7 +298,7 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
307
298
|
// istanbul ignore next
|
|
308
299
|
if (existingRecordObj.commentCount !== newRecordObj.commentCount) {
|
|
309
300
|
const isCommentCountTypesSame = typeof existingRecordObj.commentCount !== typeof newRecordObj.commentCount;
|
|
310
|
-
|
|
301
|
+
logErrorToSentry('comment count out of sync - types are same: %s', {
|
|
311
302
|
isCommentCountTypesSame
|
|
312
303
|
});
|
|
313
304
|
}
|
|
@@ -315,7 +306,7 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
315
306
|
// istanbul ignore next
|
|
316
307
|
if (existingRecordObj.createdTime !== newRecordObj.createdTime) {
|
|
317
308
|
const isCreatedTimeTypesSame = typeof existingRecordObj.createdTime !== typeof newRecordObj.createdTime;
|
|
318
|
-
|
|
309
|
+
logErrorToSentry('created time out of sync - types are same: %s', {
|
|
319
310
|
isCreatedTimeTypesSame
|
|
320
311
|
});
|
|
321
312
|
}
|
|
@@ -329,7 +320,7 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
329
320
|
}
|
|
330
321
|
}
|
|
331
322
|
}
|
|
332
|
-
const changedKeys = fieldIds.map(fieldId =>
|
|
323
|
+
const changedKeys = fieldIds.map(fieldId => WatchableCellValuesInFieldKeyPrefix + fieldId);
|
|
333
324
|
// Need to trigger onChange for records and recordIds since watching either
|
|
334
325
|
// of those causes record metadata to be loaded (via _getFieldIdForCausingRecordMetadataToLoad)
|
|
335
326
|
// and by convention we trigger a change event when data loads.
|
|
@@ -399,10 +390,10 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
399
390
|
} else {
|
|
400
391
|
// This shouldn't be possible because we always cancel the timer if fieldIds loadedness
|
|
401
392
|
// status ever changes
|
|
402
|
-
|
|
393
|
+
logErrorToSentry('fieldIdsToUnload is empty, this likely means the unload timer is not properly reset.');
|
|
403
394
|
}
|
|
404
395
|
this._timeoutForRemovingFieldIds = null;
|
|
405
|
-
},
|
|
396
|
+
}, AbstractModelWithAsyncData.__DATA_UNLOAD_DELAY_MS);
|
|
406
397
|
}
|
|
407
398
|
}
|
|
408
399
|
_restartTimeoutToUnloadFieldIdsIfTimeoutIsActive() {
|
|
@@ -418,8 +409,8 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
418
409
|
const tableData = await this._airtableInterface.fetchAndSubscribeToTableDataAsync(this.tableId);
|
|
419
410
|
this._data.recordsById = tableData.recordsById;
|
|
420
411
|
const changedKeys = [WatchableRecordStoreKeys.records, WatchableRecordStoreKeys.recordIds, WatchableRecordStoreKeys.cellValues];
|
|
421
|
-
for (const fieldId of (
|
|
422
|
-
changedKeys.push(
|
|
412
|
+
for (const fieldId of objectKeys(this._data.fieldsById)) {
|
|
413
|
+
changedKeys.push(WatchableCellValuesInFieldKeyPrefix + fieldId);
|
|
423
414
|
}
|
|
424
415
|
return changedKeys;
|
|
425
416
|
}
|
|
@@ -428,7 +419,7 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
428
419
|
this._afterUnloadDataOrUnloadCellValuesInFieldIds();
|
|
429
420
|
}
|
|
430
421
|
_afterUnloadDataOrUnloadCellValuesInFieldIds(unloadedFieldIds) {
|
|
431
|
-
const areAnyFieldsLoaded = this.isDataLoaded ||
|
|
422
|
+
const areAnyFieldsLoaded = this.isDataLoaded || values(this._areCellValuesLoadedByFieldId).some(isLoaded => isLoaded);
|
|
432
423
|
if (!this.isDeleted) {
|
|
433
424
|
if (!areAnyFieldsLoaded) {
|
|
434
425
|
this._data.recordsById = undefined;
|
|
@@ -441,7 +432,7 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
441
432
|
if (unloadedFieldIds) {
|
|
442
433
|
// Specific fields were unloaded, so clear out the cell values for those fields.
|
|
443
434
|
fieldIdsToClear = unloadedFieldIds;
|
|
444
|
-
|
|
435
|
+
logErrorToSentry('Field Ids are being unloaded when record_store is unloaded');
|
|
445
436
|
} else {
|
|
446
437
|
// The entire table was unloaded, but some individual fields are still loaded.
|
|
447
438
|
// We need to clear out the cell values of every field that was unloaded.
|
|
@@ -452,7 +443,7 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
452
443
|
const {
|
|
453
444
|
recordsById
|
|
454
445
|
} = this._data;
|
|
455
|
-
for (const recordObj of
|
|
446
|
+
for (const recordObj of values(recordsById || {})) {
|
|
456
447
|
for (let i = 0; i < fieldIdsToClear.length; i++) {
|
|
457
448
|
const fieldId = fieldIdsToClear[i];
|
|
458
449
|
if (recordObj.cellValuesByFieldId) {
|
|
@@ -472,4 +463,4 @@ class RecordStoreAsyncLoader extends _abstract_model_with_async_data.default {
|
|
|
472
463
|
}
|
|
473
464
|
|
|
474
465
|
/** @internal */
|
|
475
|
-
|
|
466
|
+
export default RecordStore;
|