@platforma-sdk/model 1.79.27 → 1.80.2
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/block_model.d.ts +2 -0
- package/dist/block_model.d.ts.map +1 -1
- package/dist/columns/column.cjs +28 -0
- package/dist/columns/column.cjs.map +1 -0
- package/dist/columns/column.d.ts +30 -0
- package/dist/columns/column.d.ts.map +1 -0
- package/dist/columns/column.js +27 -0
- package/dist/columns/column.js.map +1 -0
- package/dist/columns/column_lazy.cjs +248 -0
- package/dist/columns/column_lazy.cjs.map +1 -0
- package/dist/columns/column_lazy.d.ts +137 -0
- package/dist/columns/column_lazy.d.ts.map +1 -0
- package/dist/columns/column_lazy.js +245 -0
- package/dist/columns/column_lazy.js.map +1 -0
- package/dist/columns/column_providers/index.cjs +62 -0
- package/dist/columns/column_providers/index.cjs.map +1 -0
- package/dist/columns/column_providers/index.d.ts +30 -0
- package/dist/columns/column_providers/index.d.ts.map +1 -0
- package/dist/columns/column_providers/index.js +53 -0
- package/dist/columns/column_providers/index.js.map +1 -0
- package/dist/columns/column_providers/providers.cjs +123 -0
- package/dist/columns/column_providers/providers.cjs.map +1 -0
- package/dist/columns/column_providers/providers.d.ts +75 -0
- package/dist/columns/column_providers/providers.d.ts.map +1 -0
- package/dist/columns/column_providers/providers.js +118 -0
- package/dist/columns/column_providers/providers.js.map +1 -0
- package/dist/columns/column_providers/types.d.ts +23 -0
- package/dist/columns/column_providers/types.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_discovered_recipe.cjs +180 -0
- package/dist/columns/column_recipes/column_discovered_recipe.cjs.map +1 -0
- package/dist/columns/column_recipes/column_discovered_recipe.d.ts +120 -0
- package/dist/columns/column_recipes/column_discovered_recipe.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_discovered_recipe.js +180 -0
- package/dist/columns/column_recipes/column_discovered_recipe.js.map +1 -0
- package/dist/columns/column_recipes/column_filtered_recipe.cjs +133 -0
- package/dist/columns/column_recipes/column_filtered_recipe.cjs.map +1 -0
- package/dist/columns/column_recipes/column_filtered_recipe.d.ts +75 -0
- package/dist/columns/column_recipes/column_filtered_recipe.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_filtered_recipe.js +133 -0
- package/dist/columns/column_recipes/column_filtered_recipe.js.map +1 -0
- package/dist/columns/column_recipes/column_overrided_recipe.cjs +101 -0
- package/dist/columns/column_recipes/column_overrided_recipe.cjs.map +1 -0
- package/dist/columns/column_recipes/column_overrided_recipe.d.ts +73 -0
- package/dist/columns/column_recipes/column_overrided_recipe.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_overrided_recipe.js +101 -0
- package/dist/columns/column_recipes/column_overrided_recipe.js.map +1 -0
- package/dist/columns/column_recipes/index.cjs +72 -0
- package/dist/columns/column_recipes/index.cjs.map +1 -0
- package/dist/columns/column_recipes/index.d.ts +52 -0
- package/dist/columns/column_recipes/index.d.ts.map +1 -0
- package/dist/columns/column_recipes/index.js +68 -0
- package/dist/columns/column_recipes/index.js.map +1 -0
- package/dist/columns/column_recipes/leaf_rebrand.cjs +22 -0
- package/dist/columns/column_recipes/leaf_rebrand.cjs.map +1 -0
- package/dist/columns/column_recipes/leaf_rebrand.js +22 -0
- package/dist/columns/column_recipes/leaf_rebrand.js.map +1 -0
- package/dist/columns/column_recipes/types.d.ts +101 -0
- package/dist/columns/column_recipes/types.d.ts.map +1 -0
- package/dist/columns/columns_collection.cjs +124 -0
- package/dist/columns/columns_collection.cjs.map +1 -0
- package/dist/columns/columns_collection.d.ts +64 -0
- package/dist/columns/columns_collection.d.ts.map +1 -0
- package/dist/columns/columns_collection.js +122 -0
- package/dist/columns/columns_collection.js.map +1 -0
- package/dist/columns/derive_axis_values_labels.cjs +76 -0
- package/dist/columns/derive_axis_values_labels.cjs.map +1 -0
- package/dist/columns/derive_axis_values_labels.d.ts +30 -0
- package/dist/columns/derive_axis_values_labels.d.ts.map +1 -0
- package/dist/columns/derive_axis_values_labels.js +76 -0
- package/dist/columns/derive_axis_values_labels.js.map +1 -0
- package/dist/columns/expand_by_partition.cjs +53 -56
- package/dist/columns/expand_by_partition.cjs.map +1 -1
- package/dist/columns/expand_by_partition.d.ts +22 -18
- package/dist/columns/expand_by_partition.d.ts.map +1 -1
- package/dist/columns/expand_by_partition.js +55 -58
- package/dist/columns/expand_by_partition.js.map +1 -1
- package/dist/columns/index.cjs +44 -18
- package/dist/columns/index.d.ts +15 -7
- package/dist/columns/index.js +12 -6
- package/dist/columns/utils.cjs +186 -0
- package/dist/columns/utils.cjs.map +1 -0
- package/dist/columns/utils.d.ts +96 -0
- package/dist/columns/utils.d.ts.map +1 -0
- package/dist/columns/utils.js +179 -0
- package/dist/columns/utils.js.map +1 -0
- package/dist/components/PFrameForGraphs.cjs +1 -0
- package/dist/components/PFrameForGraphs.cjs.map +1 -1
- package/dist/components/PFrameForGraphs.d.ts +1 -1
- package/dist/components/PFrameForGraphs.d.ts.map +1 -1
- package/dist/components/PFrameForGraphs.js +1 -0
- package/dist/components/PFrameForGraphs.js.map +1 -1
- package/dist/components/PlDataTable/columnResolver.cjs +28 -0
- package/dist/components/PlDataTable/columnResolver.cjs.map +1 -0
- package/dist/components/PlDataTable/columnResolver.js +28 -0
- package/dist/components/PlDataTable/columnResolver.js.map +1 -0
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.cjs +4 -2
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.js +4 -2
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.cjs +20 -25
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js +20 -25
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs +58 -26
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js +60 -28
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs +224 -194
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts +13 -16
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js +228 -198
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.cjs +40 -98
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts +17 -8
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.js +40 -98
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.cjs +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.d.ts +2 -2
- package/dist/components/PlDataTable/createPlDataTable/index.js +2 -2
- package/dist/components/PlDataTable/createPlDataTable/index.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.cjs +51 -169
- package/dist/components/PlDataTable/createPlDataTable/utils.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.d.ts +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.js +52 -166
- package/dist/components/PlDataTable/createPlDataTable/utils.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.d.ts +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.js.map +1 -1
- package/dist/components/PlDataTable/index.cjs +1 -1
- package/dist/components/PlDataTable/index.d.ts +4 -4
- package/dist/components/PlDataTable/index.js +2 -2
- package/dist/components/PlDataTable/labels.cjs +0 -1
- package/dist/components/PlDataTable/labels.cjs.map +1 -1
- package/dist/components/PlDataTable/labels.js +0 -1
- package/dist/components/PlDataTable/labels.js.map +1 -1
- package/dist/components/PlDataTable/state-migration.cjs +107 -10
- package/dist/components/PlDataTable/state-migration.cjs.map +1 -1
- package/dist/components/PlDataTable/state-migration.d.ts +5 -4
- package/dist/components/PlDataTable/state-migration.d.ts.map +1 -1
- package/dist/components/PlDataTable/state-migration.js +107 -10
- package/dist/components/PlDataTable/state-migration.js.map +1 -1
- package/dist/components/PlDataTable/typesV7.d.ts +1 -36
- package/dist/components/PlDataTable/typesV7.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV8.d.ts +123 -0
- package/dist/components/PlDataTable/typesV8.d.ts.map +1 -0
- package/dist/components/PlDatasetSelector/build_dataset_options.cjs +27 -34
- package/dist/components/PlDatasetSelector/build_dataset_options.cjs.map +1 -1
- package/dist/components/PlDatasetSelector/build_dataset_options.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/build_dataset_options.js +27 -34
- package/dist/components/PlDatasetSelector/build_dataset_options.js.map +1 -1
- package/dist/components/PlDatasetSelector/enrichment_discovery.cjs +28 -33
- package/dist/components/PlDatasetSelector/enrichment_discovery.cjs.map +1 -1
- package/dist/components/PlDatasetSelector/enrichment_discovery.js +29 -34
- package/dist/components/PlDatasetSelector/enrichment_discovery.js.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.cjs +27 -17
- package/dist/components/PlDatasetSelector/filter_discovery.cjs.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.d.ts +24 -10
- package/dist/components/PlDatasetSelector/filter_discovery.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.js +28 -18
- package/dist/components/PlDatasetSelector/filter_discovery.js.map +1 -1
- package/dist/components/PlDatasetSelector/index.d.ts +2 -2
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.js +2 -2
- package/dist/filters/converters/filterToQuery.cjs +5 -6
- package/dist/filters/converters/filterToQuery.cjs.map +1 -1
- package/dist/filters/converters/filterToQuery.d.ts +12 -3
- package/dist/filters/converters/filterToQuery.d.ts.map +1 -1
- package/dist/filters/converters/filterToQuery.js +5 -6
- package/dist/filters/converters/filterToQuery.js.map +1 -1
- package/dist/filters/converters/index.d.ts +2 -2
- package/dist/filters/index.d.ts +2 -2
- package/dist/index.cjs +64 -35
- package/dist/index.d.ts +23 -15
- package/dist/index.js +15 -9
- package/dist/labels/derive_distinct_labels.cjs.map +1 -1
- package/dist/labels/derive_distinct_labels.d.ts +1 -2
- package/dist/labels/derive_distinct_labels.d.ts.map +1 -1
- package/dist/labels/derive_distinct_labels.js.map +1 -1
- package/dist/labels/derive_distinct_tooltips.cjs +1 -1
- package/dist/labels/derive_distinct_tooltips.cjs.map +1 -1
- package/dist/labels/derive_distinct_tooltips.d.ts +6 -3
- package/dist/labels/derive_distinct_tooltips.d.ts.map +1 -1
- package/dist/labels/derive_distinct_tooltips.js +1 -1
- package/dist/labels/derive_distinct_tooltips.js.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.js +1 -1
- package/dist/pframe_utils/axes.cjs.map +1 -1
- package/dist/pframe_utils/axes.d.ts +2 -2
- package/dist/pframe_utils/axes.d.ts.map +1 -1
- package/dist/pframe_utils/axes.js.map +1 -1
- package/dist/pframe_utils/columns.cjs +6 -10
- package/dist/pframe_utils/columns.cjs.map +1 -1
- package/dist/pframe_utils/columns.d.ts +4 -4
- package/dist/pframe_utils/columns.d.ts.map +1 -1
- package/dist/pframe_utils/columns.js +7 -11
- package/dist/pframe_utils/columns.js.map +1 -1
- package/dist/pframe_utils/index.cjs.map +1 -1
- package/dist/pframe_utils/index.d.ts +1 -1
- package/dist/pframe_utils/index.d.ts.map +1 -1
- package/dist/pframe_utils/index.js.map +1 -1
- package/dist/render/accessor.cjs +15 -16
- package/dist/render/accessor.cjs.map +1 -1
- package/dist/render/accessor.d.ts +7 -10
- package/dist/render/accessor.d.ts.map +1 -1
- package/dist/render/accessor.js +15 -16
- package/dist/render/accessor.js.map +1 -1
- package/dist/render/api.cjs +34 -36
- package/dist/render/api.cjs.map +1 -1
- package/dist/render/api.d.ts +30 -20
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/api.js +35 -38
- package/dist/render/api.js.map +1 -1
- package/dist/render/index.cjs +4 -0
- package/dist/render/index.d.ts +4 -4
- package/dist/render/index.js +3 -2
- package/dist/render/internal.cjs +3 -2
- package/dist/render/internal.cjs.map +1 -1
- package/dist/render/internal.d.ts +17 -9
- package/dist/render/internal.d.ts.map +1 -1
- package/dist/render/internal.js +3 -2
- package/dist/render/internal.js.map +1 -1
- package/dist/render/util/axis_filtering.cjs.map +1 -1
- package/dist/render/util/axis_filtering.js.map +1 -1
- package/dist/render/util/column_collection.cjs +6 -4
- package/dist/render/util/column_collection.cjs.map +1 -1
- package/dist/render/util/column_collection.d.ts +9 -9
- package/dist/render/util/column_collection.d.ts.map +1 -1
- package/dist/render/util/column_collection.js +6 -4
- package/dist/render/util/column_collection.js.map +1 -1
- package/dist/render/util/index.d.ts +2 -2
- package/dist/render/util/pcolumn_data.cjs +1 -1
- package/dist/render/util/pcolumn_data.cjs.map +1 -1
- package/dist/render/util/pcolumn_data.d.ts +3 -3
- package/dist/render/util/pcolumn_data.d.ts.map +1 -1
- package/dist/render/util/pcolumn_data.js +1 -1
- package/dist/render/util/pcolumn_data.js.map +1 -1
- package/dist/services/block_services.cjs +2 -1
- package/dist/services/block_services.cjs.map +1 -1
- package/dist/services/block_services.d.ts +1 -0
- package/dist/services/block_services.d.ts.map +1 -1
- package/dist/services/block_services.js +2 -1
- package/dist/services/block_services.js.map +1 -1
- package/dist/services/get_services.cjs +2 -2
- package/dist/services/get_services.cjs.map +1 -1
- package/dist/services/get_services.d.ts +4 -1
- package/dist/services/get_services.d.ts.map +1 -1
- package/dist/services/get_services.js +2 -2
- package/dist/services/get_services.js.map +1 -1
- package/package.json +10 -8
- package/src/columns/__test_helpers__/collection_driver.ts +197 -0
- package/src/columns/__test_helpers__/stub_registry.ts +134 -0
- package/src/columns/column.ts +46 -0
- package/src/columns/column_lazy.test.ts +201 -0
- package/src/columns/column_lazy.ts +311 -0
- package/src/columns/column_providers/index.ts +78 -0
- package/src/columns/column_providers/providers.ts +193 -0
- package/src/columns/column_providers/types.ts +24 -0
- package/src/columns/column_recipes/column_discovered_recipe.ts +231 -0
- package/src/columns/column_recipes/column_filtered_recipe.ts +184 -0
- package/src/columns/column_recipes/column_overrided_recipe.ts +146 -0
- package/src/columns/column_recipes/column_recipes.test.ts +681 -0
- package/src/columns/column_recipes/index.ts +127 -0
- package/src/columns/column_recipes/leaf_rebrand.ts +28 -0
- package/src/columns/column_recipes/types.ts +113 -0
- package/src/columns/columns_collection.test.ts +164 -0
- package/src/columns/columns_collection.ts +170 -0
- package/src/columns/derive_axis_values_labels.ts +98 -0
- package/src/columns/expand_by_partition.test.ts +146 -110
- package/src/columns/expand_by_partition.ts +72 -84
- package/src/columns/index.ts +7 -5
- package/src/columns/utils.test.ts +249 -0
- package/src/columns/utils.ts +226 -0
- package/src/components/PFrameForGraphs.ts +3 -1
- package/src/components/PlAnnotations/filters_ui.test.ts +46 -47
- package/src/components/PlDataTable/columnResolver.test.ts +122 -0
- package/src/components/PlDataTable/columnResolver.ts +57 -0
- package/src/components/PlDataTable/createPlDataTable/createPTableDefV2.ts +9 -9
- package/src/components/PlDataTable/createPlDataTable/createPTableDefV3.ts +31 -63
- package/src/components/PlDataTable/createPlDataTable/createPlDataTableV2.ts +85 -58
- package/src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts +316 -354
- package/src/components/PlDataTable/createPlDataTable/discoverColumns.ts +48 -144
- package/src/components/PlDataTable/createPlDataTable/index.ts +2 -2
- package/src/components/PlDataTable/createPlDataTable/utils.test.ts +60 -69
- package/src/components/PlDataTable/createPlDataTable/utils.ts +65 -173
- package/src/components/PlDataTable/createPlDataTableSheet.ts +1 -1
- package/src/components/PlDataTable/index.ts +4 -2
- package/src/components/PlDataTable/labels.ts +4 -33
- package/src/components/PlDataTable/state-migration.ts +151 -22
- package/src/components/PlDataTable/typesV8.ts +188 -0
- package/src/components/PlDatasetSelector/build_dataset_options.ts +35 -60
- package/src/components/PlDatasetSelector/enrichment_discovery.ts +65 -61
- package/src/components/PlDatasetSelector/filter_discovery.test.ts +110 -72
- package/src/components/PlDatasetSelector/filter_discovery.ts +51 -31
- package/src/filters/converters/filterToQuery.test.ts +15 -8
- package/src/filters/converters/filterToQuery.ts +22 -9
- package/src/filters/converters/filterUiToExpressionImpl.test.ts +35 -36
- package/src/labels/derive_distinct_labels.ts +1 -1
- package/src/labels/derive_distinct_tooltips.test.ts +7 -4
- package/src/labels/derive_distinct_tooltips.ts +3 -3
- package/src/pframe_utils/axes.ts +2 -2
- package/src/pframe_utils/columns.ts +14 -23
- package/src/pframe_utils/index.ts +1 -1
- package/src/render/accessor.ts +35 -38
- package/src/render/api.ts +45 -61
- package/src/render/index.ts +2 -1
- package/src/render/internal.ts +43 -10
- package/src/render/util/axis_filtering.ts +0 -1
- package/src/render/util/column_collection.ts +17 -17
- package/src/render/util/pcolumn_data.ts +5 -9
- package/src/services/block_services.ts +1 -0
- package/src/services/get_services.ts +5 -2
- package/dist/columns/column_collection_builder.cjs +0 -241
- package/dist/columns/column_collection_builder.cjs.map +0 -1
- package/dist/columns/column_collection_builder.d.ts +0 -119
- package/dist/columns/column_collection_builder.d.ts.map +0 -1
- package/dist/columns/column_collection_builder.js +0 -241
- package/dist/columns/column_collection_builder.js.map +0 -1
- package/dist/columns/column_selector.cjs +0 -49
- package/dist/columns/column_selector.cjs.map +0 -1
- package/dist/columns/column_selector.d.ts +0 -33
- package/dist/columns/column_selector.d.ts.map +0 -1
- package/dist/columns/column_selector.js +0 -47
- package/dist/columns/column_selector.js.map +0 -1
- package/dist/columns/column_snapshot.cjs +0 -19
- package/dist/columns/column_snapshot.cjs.map +0 -1
- package/dist/columns/column_snapshot.d.ts +0 -39
- package/dist/columns/column_snapshot.d.ts.map +0 -1
- package/dist/columns/column_snapshot.js +0 -18
- package/dist/columns/column_snapshot.js.map +0 -1
- package/dist/columns/column_snapshot_provider.cjs +0 -137
- package/dist/columns/column_snapshot_provider.cjs.map +0 -1
- package/dist/columns/column_snapshot_provider.d.ts +0 -74
- package/dist/columns/column_snapshot_provider.d.ts.map +0 -1
- package/dist/columns/column_snapshot_provider.js +0 -133
- package/dist/columns/column_snapshot_provider.js.map +0 -1
- package/dist/columns/ctx_column_sources.cjs +0 -80
- package/dist/columns/ctx_column_sources.cjs.map +0 -1
- package/dist/columns/ctx_column_sources.d.ts +0 -30
- package/dist/columns/ctx_column_sources.d.ts.map +0 -1
- package/dist/columns/ctx_column_sources.js +0 -79
- package/dist/columns/ctx_column_sources.js.map +0 -1
- package/src/columns/column_collection_builder.test.ts +0 -484
- package/src/columns/column_collection_builder.ts +0 -485
- package/src/columns/column_selector.test.ts +0 -90
- package/src/columns/column_selector.ts +0 -100
- package/src/columns/column_snapshot.ts +0 -58
- package/src/columns/column_snapshot_provider.ts +0 -194
- package/src/columns/ctx_column_sources.ts +0 -99
package/src/render/api.ts
CHANGED
|
@@ -6,16 +6,15 @@ import type {
|
|
|
6
6
|
ModelServices,
|
|
7
7
|
Option,
|
|
8
8
|
PColumn,
|
|
9
|
-
PColumnLazy,
|
|
10
9
|
PColumnSelector,
|
|
11
10
|
PColumnSpec,
|
|
12
11
|
PColumnValues,
|
|
13
12
|
PFrameDef,
|
|
14
13
|
PFrameHandle,
|
|
14
|
+
ColumnUniversalId,
|
|
15
15
|
PObject,
|
|
16
16
|
PObjectId,
|
|
17
17
|
PObjectSpec,
|
|
18
|
-
PSpecPredicate,
|
|
19
18
|
PTableDef,
|
|
20
19
|
PTableDefV2,
|
|
21
20
|
PTableHandle,
|
|
@@ -45,6 +44,7 @@ import {
|
|
|
45
44
|
withEnrichments,
|
|
46
45
|
legacyColumnSelectorsToPredicate,
|
|
47
46
|
extractAllColumns,
|
|
47
|
+
visitDataInfo,
|
|
48
48
|
} from "@milaboratories/pl-model-common";
|
|
49
49
|
import canonicalize from "canonicalize";
|
|
50
50
|
import type { Optional } from "utility-types";
|
|
@@ -72,6 +72,8 @@ import { patchInSetFilters } from "./util/pframe_upgraders";
|
|
|
72
72
|
import type { PColumnDataUniversal } from "./internal";
|
|
73
73
|
import { getService } from "../services";
|
|
74
74
|
import { allPColumnsReady } from "./util";
|
|
75
|
+
import { throwError } from "@milaboratories/helpers";
|
|
76
|
+
import { isString } from "es-toolkit";
|
|
75
77
|
|
|
76
78
|
/**
|
|
77
79
|
* Helper function to match domain objects
|
|
@@ -92,19 +94,25 @@ export type UniversalColumnOption = { label: string; value: SUniversalPColumnId
|
|
|
92
94
|
|
|
93
95
|
/**
|
|
94
96
|
* Transforms PColumn data into the internal representation expected by the platform
|
|
95
|
-
* @param
|
|
97
|
+
* @param column Data from a PColumn to transform
|
|
96
98
|
* @returns Transformed data compatible with platform API
|
|
97
99
|
*/
|
|
98
|
-
function
|
|
99
|
-
|
|
100
|
+
export function finalizePColumnData(
|
|
101
|
+
column: PColumn<PColumnDataUniversal<undefined | TreeNodeAccessor>>,
|
|
100
102
|
): PColumn<PColumnValues | AccessorHandle | DataInfo<AccessorHandle>> {
|
|
101
|
-
return mapPObjectData(
|
|
102
|
-
if (
|
|
103
|
-
return
|
|
104
|
-
} else if (isDataInfo(
|
|
105
|
-
|
|
103
|
+
return mapPObjectData(column, (data) => {
|
|
104
|
+
if (data instanceof TreeNodeAccessor) {
|
|
105
|
+
return data.handle;
|
|
106
|
+
} else if (isDataInfo(data)) {
|
|
107
|
+
let ready = true;
|
|
108
|
+
visitDataInfo(data, (accessor) => (ready &&= accessor?.getIsReadyOrError() ?? false));
|
|
109
|
+
if (!ready) return [];
|
|
110
|
+
return mapDataInfo(
|
|
111
|
+
data,
|
|
112
|
+
(accessor) => accessor?.handle ?? throwError("Accessor handle is undefined"),
|
|
113
|
+
);
|
|
106
114
|
} else {
|
|
107
|
-
return
|
|
115
|
+
return data ?? [];
|
|
108
116
|
}
|
|
109
117
|
});
|
|
110
118
|
}
|
|
@@ -130,16 +138,22 @@ type GetOptionsOpts = {
|
|
|
130
138
|
label?: ((spec: PObjectSpec, ref: PlRef) => string) | LabelDerivationOps;
|
|
131
139
|
};
|
|
132
140
|
|
|
141
|
+
/**
|
|
142
|
+
* @deprecated use the direct `ctx.*` methods on `RenderCtxBase` instead.
|
|
143
|
+
*
|
|
144
|
+
* Migration map:
|
|
145
|
+
* - `getSpecs` → `ctx.getSpecs`
|
|
146
|
+
* - `getSpecByRef` / `getPColumnSpecByRef` → `ctx.getSpecByRef` / `ctx.getPColumnSpecByRef`
|
|
147
|
+
* - `getDataByRef` / `getPColumnByRef` → `ctx.getDataByRef` / `ctx.getPColumnByRef`
|
|
148
|
+
* - `getOptions` → `ctx.getOptions`
|
|
149
|
+
*
|
|
150
|
+
* Eager methods `selectColumns` / `getData` / `getDataWithErrors` should be
|
|
151
|
+
* replaced by `ctx.getSpecs` + on-demand `ctx.getStatusByRef` /
|
|
152
|
+
* `ctx.getPColumnByRef` so that the data resource is not subscribed up-front.
|
|
153
|
+
*/
|
|
133
154
|
export class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
134
155
|
private readonly ctx: GlobalCfgRenderCtx = getCfgRenderCtx();
|
|
135
156
|
|
|
136
|
-
/**
|
|
137
|
-
* @deprecated use getOptions()
|
|
138
|
-
*/
|
|
139
|
-
public calculateOptions(predicate: PSpecPredicate): Option[] {
|
|
140
|
-
return this.ctx.calculateOptions(predicate);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
157
|
public getOptions(
|
|
144
158
|
predicateOrSelector: ((spec: PObjectSpec) => boolean) | PColumnSelector | PColumnSelector[],
|
|
145
159
|
opts?: GetOptionsOpts,
|
|
@@ -221,7 +235,7 @@ export class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
|
221
235
|
| APColumnSelectorWithSplit
|
|
222
236
|
| APColumnSelectorWithSplit[],
|
|
223
237
|
opts?: UniversalPColumnOpts,
|
|
224
|
-
): PColumn<PColumnDataUniversal>[]
|
|
238
|
+
): undefined | PColumn<undefined | PColumnDataUniversal>[] {
|
|
225
239
|
const anchorCtx = this.resolveAnchorCtx(anchorsOrCtx);
|
|
226
240
|
if (!anchorCtx) return undefined;
|
|
227
241
|
return new PColumnCollection()
|
|
@@ -351,11 +365,6 @@ export class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
|
351
365
|
* @returns data associated with the ref
|
|
352
366
|
*/
|
|
353
367
|
public getDataByRef(ref: PlRef): PObject<TreeNodeAccessor> | undefined {
|
|
354
|
-
// @TODO remove after 1 Jan 2025; forward compatibility
|
|
355
|
-
if (typeof this.ctx.getDataFromResultPoolByRef === "undefined")
|
|
356
|
-
return this.getData().entries.find(
|
|
357
|
-
(f) => f.ref.blockId === ref.blockId && f.ref.name === ref.name,
|
|
358
|
-
)?.obj;
|
|
359
368
|
const data = this.ctx.getDataFromResultPoolByRef(ref.blockId, ref.name); // Keep original call
|
|
360
369
|
// Need to handle undefined case before mapping
|
|
361
370
|
if (!data) return undefined;
|
|
@@ -491,6 +500,9 @@ export class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
|
491
500
|
*
|
|
492
501
|
* @param selectors - A predicate function, a single selector, or an array of selectors.
|
|
493
502
|
* @returns An array of PColumn objects matching the selectors. Data is loaded on first access.
|
|
503
|
+
* @deprecated use `RenderCtxBase.rawResultPool` + `ResultPoolColumnsProvider` +
|
|
504
|
+
* `discoverColumns` instead. This eager path materializes column data
|
|
505
|
+
* unnecessarily for callers that only filter by spec.
|
|
494
506
|
*/
|
|
495
507
|
public selectColumns(
|
|
496
508
|
selectors: ((spec: PColumnSpec) => boolean) | PColumnSelector | PColumnSelector[],
|
|
@@ -552,7 +564,7 @@ export class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
|
552
564
|
|
|
553
565
|
/** Main entry point to the API available within model lambdas (like outputs, sections, etc..) */
|
|
554
566
|
export abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
555
|
-
|
|
567
|
+
public readonly ctx: GlobalCfgRenderCtx;
|
|
556
568
|
|
|
557
569
|
constructor() {
|
|
558
570
|
this.ctx = getCfgRenderCtx();
|
|
@@ -611,30 +623,9 @@ export abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
|
611
623
|
return this.getNamedAccessor(MainAccessorName);
|
|
612
624
|
}
|
|
613
625
|
|
|
626
|
+
/** @deprecated use `rawResultPool` + `ResultPoolColumnsProvider` instead. */
|
|
614
627
|
public readonly resultPool = new ResultPool();
|
|
615
628
|
|
|
616
|
-
/**
|
|
617
|
-
* Find labels data for a given axis id. It will search for a label column and return its data as a map.
|
|
618
|
-
* @returns a map of axis value => label
|
|
619
|
-
* @deprecated Use resultPool.findLabels instead
|
|
620
|
-
*/
|
|
621
|
-
public findLabels(axis: AxisId): Record<string | number, string> | undefined {
|
|
622
|
-
return this.resultPool.findLabels(axis);
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
private verifyInlineAndExplicitColumnsSupport(
|
|
626
|
-
columns: (PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>)[],
|
|
627
|
-
) {
|
|
628
|
-
const hasInlineColumns = columns.some(
|
|
629
|
-
(c) => !(c.data instanceof TreeNodeAccessor) || isDataInfo(c.data),
|
|
630
|
-
); // Updated check for DataInfo
|
|
631
|
-
const inlineColumnsSupport = this.ctx.featureFlags?.inlineColumnsSupport === true;
|
|
632
|
-
if (hasInlineColumns && !inlineColumnsSupport)
|
|
633
|
-
throw Error(`Inline or explicit columns not supported`); // Combined check
|
|
634
|
-
|
|
635
|
-
// Removed redundant explicitColumns check
|
|
636
|
-
}
|
|
637
|
-
|
|
638
629
|
private patchPTableDef(
|
|
639
630
|
def: PTableDef<PColumn<PColumnDataUniversal>>,
|
|
640
631
|
): PTableDef<PColumn<PColumnDataUniversal>> {
|
|
@@ -656,13 +647,10 @@ export abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
|
656
647
|
return def;
|
|
657
648
|
}
|
|
658
649
|
|
|
659
|
-
// TODO remove all non-PColumn fields
|
|
660
650
|
public createPFrame(
|
|
661
|
-
def: PFrameDef<
|
|
662
|
-
PColumn<undefined | PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>
|
|
663
|
-
>,
|
|
651
|
+
def: PFrameDef<PObjectId | SUniversalPColumnId | PColumn<undefined | PColumnDataUniversal>>,
|
|
664
652
|
): PFrameHandle | undefined {
|
|
665
|
-
return this.ctx.createPFrame(def.map((
|
|
653
|
+
return this.ctx.createPFrame(def.map((v) => (isString(v) ? v : finalizePColumnData(v))));
|
|
666
654
|
}
|
|
667
655
|
|
|
668
656
|
// TODO remove all non-PColumn fields
|
|
@@ -698,20 +686,16 @@ export abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
|
698
686
|
rawDef = this.patchPTableDef(def);
|
|
699
687
|
}
|
|
700
688
|
const columns = extractAllColumns(rawDef.src);
|
|
701
|
-
this.verifyInlineAndExplicitColumnsSupport(columns);
|
|
702
689
|
if (!allPColumnsReady(columns)) return undefined;
|
|
703
|
-
return this.ctx.createPTable(mapPTableDef(rawDef,
|
|
690
|
+
return this.ctx.createPTable(mapPTableDef(rawDef, finalizePColumnData));
|
|
704
691
|
}
|
|
705
692
|
|
|
706
693
|
public createPTableV2(
|
|
707
|
-
def: PTableDefV2<PColumn<undefined | PColumnDataUniversal>>,
|
|
694
|
+
def: PTableDefV2<ColumnUniversalId | PColumn<undefined | PColumnDataUniversal>>,
|
|
708
695
|
): PTableHandle | undefined {
|
|
709
|
-
return this.ctx.createPTableV2(
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
/** @deprecated scheduled for removal from SDK */
|
|
713
|
-
public getBlockLabel(blockId: string): string {
|
|
714
|
-
return this.ctx.getBlockLabel(blockId);
|
|
696
|
+
return this.ctx.createPTableV2(
|
|
697
|
+
mapPTableDefV2(def, { column: (v) => (isString(v) ? v : finalizePColumnData(v)) }),
|
|
698
|
+
);
|
|
715
699
|
}
|
|
716
700
|
|
|
717
701
|
public getCurrentUnstableMarker(): string | undefined {
|
package/src/render/index.ts
CHANGED
|
@@ -3,5 +3,6 @@ export * from "./traversal_ops";
|
|
|
3
3
|
export * from "./accessor";
|
|
4
4
|
export * from "./util";
|
|
5
5
|
export { FutureRef } from "./future";
|
|
6
|
-
export type { PColumnDataUniversal } from "./internal";
|
|
6
|
+
export type { AccessorHandle, PColumnDataUniversal } from "./internal";
|
|
7
|
+
export { MainAccessorName, StagingAccessorName } from "./internal";
|
|
7
8
|
export type { ExtractFutureRefType } from "./future";
|
package/src/render/internal.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import type { Optional } from "utility-types";
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
AccessorHandle,
|
|
4
|
+
Branded,
|
|
5
|
+
PObjectId,
|
|
6
|
+
StringifiedJson,
|
|
7
|
+
SUniversalPColumnId,
|
|
8
|
+
} from "@milaboratories/pl-model-common";
|
|
9
|
+
export type { AccessorHandle };
|
|
3
10
|
import type { CommonFieldTraverseOps, FieldTraversalStep, ResourceType } from "./traversal_ops";
|
|
4
11
|
import type {
|
|
5
12
|
ArchiveFormat,
|
|
6
13
|
AnyFunction,
|
|
7
|
-
Option,
|
|
8
14
|
PColumn,
|
|
9
15
|
PColumnValues,
|
|
10
16
|
PFrameDef,
|
|
11
17
|
PFrameHandle,
|
|
12
18
|
PObject,
|
|
13
19
|
PObjectSpec,
|
|
14
|
-
PSpecPredicate,
|
|
15
20
|
PTableDef,
|
|
16
21
|
PTableDefV2,
|
|
17
22
|
PTableHandle,
|
|
@@ -23,10 +28,9 @@ import type {
|
|
|
23
28
|
import type { TreeNodeAccessor } from "./accessor";
|
|
24
29
|
import type { ServiceDispatch } from "@milaboratories/pl-model-common";
|
|
25
30
|
|
|
26
|
-
export const StagingAccessorName = "staging";
|
|
27
31
|
export const MainAccessorName = "main";
|
|
32
|
+
export const StagingAccessorName = "staging";
|
|
28
33
|
|
|
29
|
-
export type AccessorHandle = Branded<string, "AccessorHandle">;
|
|
30
34
|
export type FutureHandle = Branded<string, "FutureHandle">;
|
|
31
35
|
|
|
32
36
|
export type PColumnDataUniversal<TreeEntry = TreeNodeAccessor> =
|
|
@@ -34,6 +38,10 @@ export type PColumnDataUniversal<TreeEntry = TreeNodeAccessor> =
|
|
|
34
38
|
| DataInfo<TreeEntry>
|
|
35
39
|
| PColumnValues;
|
|
36
40
|
|
|
41
|
+
// Raw upstream-block ctx shape lives in `@milaboratories/pl-model-common`
|
|
42
|
+
// (`UpstreamBlockCtx`). Import directly from there at use sites.
|
|
43
|
+
import type { UpstreamBlockCtx } from "@milaboratories/pl-model-common";
|
|
44
|
+
|
|
37
45
|
export interface GlobalCfgRenderCtxMethods<AHandle = AccessorHandle, FHandle = FutureHandle> {
|
|
38
46
|
//
|
|
39
47
|
// Root accessor creation
|
|
@@ -73,11 +81,13 @@ export interface GlobalCfgRenderCtxMethods<AHandle = AccessorHandle, FHandle = F
|
|
|
73
81
|
|
|
74
82
|
getKeyValueAsString(handle: AHandle, key: string): string | undefined;
|
|
75
83
|
|
|
84
|
+
hasData(handle: AHandle): boolean;
|
|
85
|
+
|
|
76
86
|
getDataBase64(handle: AHandle): string | undefined;
|
|
77
87
|
|
|
78
88
|
getDataAsString(handle: AHandle): string | undefined;
|
|
79
89
|
|
|
80
|
-
/**
|
|
90
|
+
/** @deprecated */
|
|
81
91
|
parsePObjectCollection(
|
|
82
92
|
handle: AHandle,
|
|
83
93
|
errorOnUnknownField: boolean,
|
|
@@ -144,18 +154,40 @@ export interface GlobalCfgRenderCtxMethods<AHandle = AccessorHandle, FHandle = F
|
|
|
144
154
|
|
|
145
155
|
getDataFromResultPoolByRef(blockId: string, exportName: string): PObject<AHandle> | undefined;
|
|
146
156
|
|
|
147
|
-
|
|
157
|
+
//
|
|
158
|
+
// Raw result pool — list of upstream block ctx accessor handles.
|
|
159
|
+
// SDK-side providers compose enumerate/status/data themselves on top of these.
|
|
160
|
+
//
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* For each upstream block in the staging graph, returns its prod/staging ctx
|
|
164
|
+
* accessor handles (when present). Sandbox uses these handles with
|
|
165
|
+
* `getPObjectEntryDataHandle` to build
|
|
166
|
+
* column snapshots; spec/status/data merge with prod-vs-staging precedence
|
|
167
|
+
* lives sandbox-side.
|
|
168
|
+
*/
|
|
169
|
+
getUpstreamBlockCtx(): ReadonlyArray<UpstreamBlockCtx<AHandle>>;
|
|
148
170
|
|
|
149
171
|
//
|
|
150
172
|
// PFrame / PTable
|
|
151
173
|
//
|
|
152
174
|
|
|
153
|
-
createPFrame(
|
|
175
|
+
createPFrame(
|
|
176
|
+
def: PFrameDef<
|
|
177
|
+
PObjectId | SUniversalPColumnId | PColumn<AHandle | PColumnValues | DataInfo<AHandle>>
|
|
178
|
+
>,
|
|
179
|
+
): PFrameHandle;
|
|
154
180
|
|
|
155
|
-
createPTable(
|
|
181
|
+
createPTable(
|
|
182
|
+
def: PTableDef<
|
|
183
|
+
PObjectId | SUniversalPColumnId | PColumn<AHandle | PColumnValues | DataInfo<AHandle>>
|
|
184
|
+
>,
|
|
185
|
+
): PTableHandle;
|
|
156
186
|
|
|
157
187
|
createPTableV2(
|
|
158
|
-
def: PTableDefV2<
|
|
188
|
+
def: PTableDefV2<
|
|
189
|
+
PObjectId | SUniversalPColumnId | PColumn<AHandle | PColumnValues | DataInfo<AHandle>>
|
|
190
|
+
>,
|
|
159
191
|
): PTableHandle;
|
|
160
192
|
|
|
161
193
|
//
|
|
@@ -181,6 +213,7 @@ export const GlobalCfgRenderCtxFeatureFlags = {
|
|
|
181
213
|
activeArgs: true as const,
|
|
182
214
|
pTablePartitionFiltersSupport: true as const,
|
|
183
215
|
pFrameInSetFilterSupport: true as const,
|
|
216
|
+
lazyColumnStatusSupport: true as const,
|
|
184
217
|
};
|
|
185
218
|
|
|
186
219
|
export interface GlobalCfgRenderCtx extends GlobalCfgRenderCtxMethods, ServiceDispatch {
|
|
@@ -7,7 +7,6 @@ import type {
|
|
|
7
7
|
NativePObjectId,
|
|
8
8
|
PartitionedDataInfoEntries,
|
|
9
9
|
PColumn,
|
|
10
|
-
PColumnLazy,
|
|
11
10
|
PColumnSelector,
|
|
12
11
|
PColumnSpec,
|
|
13
12
|
PColumnValues,
|
|
@@ -60,7 +59,7 @@ export interface AxisLabelProvider {
|
|
|
60
59
|
/**
|
|
61
60
|
* A simple implementation of {@link ColumnProvider} backed by a pre-defined array of columns.
|
|
62
61
|
*/
|
|
63
|
-
class
|
|
62
|
+
class ArrayColumnsProvider implements ColumnProvider {
|
|
64
63
|
constructor(private readonly columns: PColumn<PColumnDataUniversal | undefined>[]) {}
|
|
65
64
|
|
|
66
65
|
selectColumns(
|
|
@@ -76,21 +75,21 @@ class ArrayColumnProvider implements ColumnProvider {
|
|
|
76
75
|
}
|
|
77
76
|
|
|
78
77
|
/** Lazy calculates the data, returns undefined if data is not ready. */
|
|
79
|
-
export type
|
|
78
|
+
export type PColumnWithLabel<T> = PColumn<T> & {
|
|
80
79
|
label: string;
|
|
81
80
|
};
|
|
82
81
|
|
|
83
82
|
/** Universal column is a column that uses a universal column id, and always have label. */
|
|
84
|
-
export type
|
|
83
|
+
export type PColumnUniversal<T> = PColumnWithLabel<T> & {
|
|
85
84
|
id: SUniversalPColumnId;
|
|
86
85
|
};
|
|
87
86
|
|
|
88
|
-
/** @deprecated Use
|
|
89
|
-
export type PColumnEntryWithLabel =
|
|
87
|
+
/** @deprecated Use PColumnWithLabel instead. */
|
|
88
|
+
export type PColumnEntryWithLabel = PColumn<undefined | PColumnDataUniversal> & {
|
|
90
89
|
label: string;
|
|
91
90
|
};
|
|
92
91
|
|
|
93
|
-
/** @deprecated Use
|
|
92
|
+
/** @deprecated Use PColumnUniversal instead. */
|
|
94
93
|
export type PColumnEntryUniversal = PColumnEntryWithLabel & {
|
|
95
94
|
id: SUniversalPColumnId;
|
|
96
95
|
};
|
|
@@ -220,7 +219,7 @@ type UniversalPColumnOpts = UniversalPColumnOptsNoDeriver & {
|
|
|
220
219
|
export class PColumnCollection {
|
|
221
220
|
private readonly defaultProviderStore: PColumn<PColumnDataUniversal | undefined>[] = [];
|
|
222
221
|
private readonly providers: ColumnProvider[] = [
|
|
223
|
-
new
|
|
222
|
+
new ArrayColumnsProvider(this.defaultProviderStore),
|
|
224
223
|
];
|
|
225
224
|
private readonly axisLabelProviders: AxisLabelProvider[] = [];
|
|
226
225
|
|
|
@@ -498,12 +497,13 @@ export class PColumnCollection {
|
|
|
498
497
|
}
|
|
499
498
|
|
|
500
499
|
result.push({
|
|
501
|
-
id: finalId,
|
|
500
|
+
id: finalId as PObjectId,
|
|
502
501
|
spec: finalSpec,
|
|
503
|
-
data
|
|
504
|
-
entry.type === "split"
|
|
502
|
+
get data() {
|
|
503
|
+
return entry.type === "split"
|
|
505
504
|
? entriesToDataInfo(filterDataInfoEntries(entry.dataEntries, axisFiltersTuple!))
|
|
506
|
-
: entry.originalColumn.data
|
|
505
|
+
: entry.originalColumn.data;
|
|
506
|
+
},
|
|
507
507
|
label: label,
|
|
508
508
|
});
|
|
509
509
|
}
|
|
@@ -555,30 +555,30 @@ export class PColumnCollection {
|
|
|
555
555
|
| APColumnSelectorWithSplit
|
|
556
556
|
| APColumnSelectorWithSplit[],
|
|
557
557
|
opts: UniversalPColumnOpts,
|
|
558
|
-
): PColumn<PColumnDataUniversal>[] | undefined;
|
|
558
|
+
): PColumn<undefined | PColumnDataUniversal>[] | undefined;
|
|
559
559
|
public getColumns(
|
|
560
560
|
predicateOrSelectors:
|
|
561
561
|
| ((spec: PColumnSpec) => boolean)
|
|
562
562
|
| PColumnSelectorWithSplit
|
|
563
563
|
| PColumnSelectorWithSplit[],
|
|
564
564
|
opts?: UniversalPColumnOptsNoDeriver,
|
|
565
|
-
): PColumn<PColumnDataUniversal>[] | undefined;
|
|
565
|
+
): PColumn<undefined | PColumnDataUniversal>[] | undefined;
|
|
566
566
|
public getColumns(
|
|
567
567
|
predicateOrSelectors:
|
|
568
568
|
| ((spec: PColumnSpec) => boolean)
|
|
569
569
|
| APColumnSelectorWithSplit
|
|
570
570
|
| APColumnSelectorWithSplit[],
|
|
571
571
|
opts?: Optional<UniversalPColumnOpts, "anchorCtx">,
|
|
572
|
-
): PColumn<PColumnDataUniversal>[] | undefined {
|
|
572
|
+
): PColumn<undefined | PColumnDataUniversal>[] | undefined {
|
|
573
573
|
const entries = this.getUniversalEntries(predicateOrSelectors, {
|
|
574
574
|
overrideLabelAnnotation: true, // default for getColumns
|
|
575
575
|
...opts,
|
|
576
576
|
} as UniversalPColumnOpts);
|
|
577
577
|
if (!entries) return undefined;
|
|
578
578
|
|
|
579
|
-
const columns: PColumn<PColumnDataUniversal>[] = [];
|
|
579
|
+
const columns: PColumn<undefined | PColumnDataUniversal>[] = [];
|
|
580
580
|
for (const entry of entries) {
|
|
581
|
-
const data = entry.data
|
|
581
|
+
const data = entry.data;
|
|
582
582
|
if (!data) {
|
|
583
583
|
if (opts?.dontWaitAllData) continue;
|
|
584
584
|
return undefined;
|
|
@@ -3,7 +3,6 @@ import type {
|
|
|
3
3
|
ParquetChunkMetadata,
|
|
4
4
|
PartitionedDataInfoEntries,
|
|
5
5
|
PColumn,
|
|
6
|
-
PColumnLazy,
|
|
7
6
|
PColumnValues,
|
|
8
7
|
} from "@milaboratories/pl-model-common";
|
|
9
8
|
import {
|
|
@@ -606,14 +605,14 @@ export function getNumberOfRows(data: PColumnDataUniversal | undefined): number
|
|
|
606
605
|
}
|
|
607
606
|
|
|
608
607
|
export function isPColumnReady(
|
|
609
|
-
c: PColumn<undefined | PColumnDataUniversal
|
|
610
|
-
): c is PColumn<PColumnDataUniversal>
|
|
608
|
+
c: PColumn<undefined | PColumnDataUniversal>,
|
|
609
|
+
): c is PColumn<PColumnDataUniversal> {
|
|
611
610
|
const isValues = (d: PColumnDataUniversal): d is PColumnValues => Array.isArray(d);
|
|
612
611
|
const isAccessor = (d: PColumnDataUniversal): d is TreeNodeAccessor =>
|
|
613
612
|
d instanceof TreeNodeAccessor;
|
|
614
613
|
|
|
615
614
|
let ready = true;
|
|
616
|
-
const data =
|
|
615
|
+
const data = c.data;
|
|
617
616
|
if (data == null) {
|
|
618
617
|
return false;
|
|
619
618
|
} else if (isAccessor(data)) {
|
|
@@ -627,10 +626,7 @@ export function isPColumnReady(
|
|
|
627
626
|
}
|
|
628
627
|
|
|
629
628
|
export function allPColumnsReady(
|
|
630
|
-
columns:
|
|
631
|
-
|
|
632
|
-
| PColumnLazy<undefined | PColumnDataUniversal>
|
|
633
|
-
)[],
|
|
634
|
-
): columns is (PColumn<PColumnDataUniversal> | PColumnLazy<PColumnDataUniversal>)[] {
|
|
629
|
+
columns: PColumn<undefined | PColumnDataUniversal>[],
|
|
630
|
+
): columns is PColumn<PColumnDataUniversal>[] {
|
|
635
631
|
return columns.every(isPColumnReady);
|
|
636
632
|
}
|
|
@@ -12,6 +12,7 @@ export const BLOCK_SERVICE_FLAGS = {
|
|
|
12
12
|
requiresPFrameSpec: true,
|
|
13
13
|
requiresPFrame: true,
|
|
14
14
|
requiresDialog: true,
|
|
15
|
+
requiresColumnsCollection: true,
|
|
15
16
|
} as const satisfies Partial<ServiceRequireFlags>;
|
|
16
17
|
|
|
17
18
|
export type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;
|
|
@@ -9,8 +9,11 @@ const cachedServices = new WeakMap<
|
|
|
9
9
|
Map<keyof ModelServices, ValueOf<ModelServices>>
|
|
10
10
|
>();
|
|
11
11
|
|
|
12
|
-
export function getService<T extends keyof ModelServices>(
|
|
13
|
-
|
|
12
|
+
export function getService<T extends keyof ModelServices>(
|
|
13
|
+
name: T,
|
|
14
|
+
deps?: { ctx?: GlobalCfgRenderCtx },
|
|
15
|
+
): ModelServices[T] {
|
|
16
|
+
const ctx = deps?.ctx ?? getCfgRenderCtx();
|
|
14
17
|
|
|
15
18
|
const map = cachedServices.has(ctx)
|
|
16
19
|
? cachedServices.get(ctx)!
|