@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
|
@@ -1,162 +1,204 @@
|
|
|
1
|
+
const require_utils = require("../../../columns/utils.cjs");
|
|
2
|
+
require("../../../columns/index.cjs");
|
|
1
3
|
const require_traverse = require("../../../filters/traverse.cjs");
|
|
2
4
|
const require_state_migration = require("../state-migration.cjs");
|
|
3
5
|
const require_createPTableDefV3 = require("./createPTableDefV3.cjs");
|
|
4
|
-
const require_utils = require("./utils.cjs");
|
|
6
|
+
const require_utils$1 = require("./utils.cjs");
|
|
7
|
+
const require_columnResolver = require("../columnResolver.cjs");
|
|
5
8
|
const require_discoverColumns = require("./discoverColumns.cjs");
|
|
6
9
|
let _milaboratories_pl_model_common = require("@milaboratories/pl-model-common");
|
|
7
10
|
let _milaboratories_helpers = require("@milaboratories/helpers");
|
|
8
11
|
let es_toolkit = require("es-toolkit");
|
|
9
|
-
let es_toolkit_compat = require("es-toolkit/compat");
|
|
10
12
|
//#region src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts
|
|
11
13
|
function createPlDataTableV3(ctx, options) {
|
|
12
|
-
const pframeSpec = ctx.getService("pframeSpec");
|
|
13
14
|
const state = require_state_migration.upgradePlDataTableStateV2(options.tableState);
|
|
14
15
|
const primaryJoinType = options.primaryJoinType ?? "full";
|
|
15
|
-
const
|
|
16
|
-
if (
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
linkerPath: dc.path,
|
|
23
|
-
qualifications: dc.qualifications
|
|
24
|
-
})).filter((v) => !require_utils.isColumnHidden(v.spec)),
|
|
16
|
+
const resolved = resolveInputColumns(ctx, options);
|
|
17
|
+
if (resolved === void 0) return void 0;
|
|
18
|
+
const { primary, secondary } = resolved;
|
|
19
|
+
if (primary.length === 0) return void 0;
|
|
20
|
+
const { direct, linked } = splitByTopology(secondary);
|
|
21
|
+
const derivedLabels = require_utils$1.deriveAllLabels({
|
|
22
|
+
columns: [...primary, ...secondary].filter((c) => !require_utils$1.isColumnHidden(c.getSpec())).map(toLabelableColumn),
|
|
25
23
|
deriveLabelsOptions: {
|
|
26
24
|
includeNativeLabel: true,
|
|
27
25
|
...options.labelsOptions
|
|
28
26
|
}
|
|
29
27
|
});
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
...
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
if (primarySnapshots.length === 0) return void 0;
|
|
47
|
-
const columnIsAvailable = createColumnValidationById([...annotated.direct.map((v) => v.column), ...annotated.linked.flatMap((lc) => [...(lc.path ?? []).map((s) => s.linker), lc.column])]);
|
|
48
|
-
const remapedDefaultFilters = remapFilterColumnIds(options.filters, discovered);
|
|
49
|
-
const filters = filterFilters(concatFilters(state.pTableParams.filters, state.pTableParams.defaultFilters ?? remapedDefaultFilters), columnIsAvailable);
|
|
50
|
-
const sorting = filterSorting(resolveSorting(state.pTableParams.sorting, remapSortingColumnIds(options.sorting, discovered)), columnIsAvailable);
|
|
51
|
-
const primaryEntries = primarySnapshots.map((v) => ({ column: resolveSnapshot(v.column) }));
|
|
28
|
+
const allColumnsForRules = [
|
|
29
|
+
...primary,
|
|
30
|
+
...direct,
|
|
31
|
+
...linked,
|
|
32
|
+
...collectLinkerSnapshots(linked)
|
|
33
|
+
];
|
|
34
|
+
const visibilityByColId = require_utils$1.evaluateRules(options.displayOptions?.visibility ?? [], allColumnsForRules);
|
|
35
|
+
const orderByColId = require_utils$1.evaluateRules(options.displayOptions?.ordering ?? [], allColumnsForRules);
|
|
36
|
+
const resolver = require_columnResolver.createColumnResolver([
|
|
37
|
+
...primary,
|
|
38
|
+
...direct,
|
|
39
|
+
...linked.flatMap((lc) => [...require_utils.collectLinkerColumns(lc), lc])
|
|
40
|
+
], { warn: ctx.logWarn.bind(ctx) });
|
|
41
|
+
const remapedDefaultFilters = remapFilterColumnIds(options.filters, resolver);
|
|
42
|
+
const filters = filterFilters(concatFilters(state.pTableParams.filters, state.pTableParams.defaultFilters ?? remapedDefaultFilters), resolver);
|
|
43
|
+
const sorting = filterSorting(resolveSorting(state.pTableParams.sorting, remapSortingColumnIds(options.sorting, resolver)), resolver);
|
|
52
44
|
const fullDef = require_createPTableDefV3.createPTableDefV3({
|
|
53
45
|
primaryJoinType,
|
|
54
|
-
primary
|
|
55
|
-
secondary:
|
|
46
|
+
primary,
|
|
47
|
+
secondary: [...direct, ...linked],
|
|
56
48
|
filters,
|
|
57
49
|
sorting
|
|
58
50
|
});
|
|
59
51
|
const fullHandle = ctx.createPTableV2(fullDef);
|
|
60
|
-
const pframeHandle = ctx.createPFrame([
|
|
61
|
-
...
|
|
62
|
-
...
|
|
63
|
-
...
|
|
64
|
-
]);
|
|
52
|
+
const pframeHandle = ctx.createPFrame((0, es_toolkit.uniq)([
|
|
53
|
+
...primary.map((v) => (0, _milaboratories_pl_model_common.extractPObjectId)(v.id)),
|
|
54
|
+
...direct.map((v) => (0, _milaboratories_pl_model_common.extractPObjectId)(v.id)),
|
|
55
|
+
...linked.map((v) => (0, _milaboratories_pl_model_common.extractPObjectId)(v.id))
|
|
56
|
+
]));
|
|
65
57
|
const hiddenSpecs = state.pTableParams.hiddenColIds;
|
|
66
|
-
const
|
|
58
|
+
const hiddenColumnIds = computeHiddenColumns({
|
|
59
|
+
columns: [
|
|
60
|
+
...primary,
|
|
61
|
+
...direct,
|
|
62
|
+
...linked
|
|
63
|
+
],
|
|
64
|
+
visibilityByColId,
|
|
65
|
+
sorting,
|
|
66
|
+
filters,
|
|
67
|
+
hiddenSpecs
|
|
68
|
+
});
|
|
69
|
+
const visible = {
|
|
70
|
+
primary,
|
|
71
|
+
direct: direct.filter((c) => !hiddenColumnIds.has(c.id)),
|
|
72
|
+
linked: linked.filter((c) => !hiddenColumnIds.has(c.id))
|
|
73
|
+
};
|
|
67
74
|
const visibleDef = require_createPTableDefV3.createPTableDefV3({
|
|
68
75
|
primaryJoinType,
|
|
69
|
-
primary
|
|
70
|
-
secondary:
|
|
76
|
+
primary,
|
|
77
|
+
secondary: [...visible.direct, ...visible.linked],
|
|
71
78
|
filters,
|
|
72
79
|
sorting
|
|
73
80
|
});
|
|
74
81
|
const visibleHandle = ctx.createPTableV2(visibleDef);
|
|
82
|
+
const columnsMeta = buildColumnsMeta({
|
|
83
|
+
fullColumns: [
|
|
84
|
+
...primary,
|
|
85
|
+
...direct,
|
|
86
|
+
...linked
|
|
87
|
+
],
|
|
88
|
+
visibleColumns: [
|
|
89
|
+
...visible.primary,
|
|
90
|
+
...visible.direct,
|
|
91
|
+
...visible.linked
|
|
92
|
+
],
|
|
93
|
+
primaryColumns: primary,
|
|
94
|
+
derivedLabels,
|
|
95
|
+
visibilityByColId,
|
|
96
|
+
orderByColId
|
|
97
|
+
});
|
|
75
98
|
return {
|
|
76
99
|
sourceId: state.pTableParams.sourceId,
|
|
77
100
|
fullTableHandle: fullHandle,
|
|
78
101
|
fullPframeHandle: pframeHandle,
|
|
79
102
|
visibleTableHandle: visibleHandle,
|
|
80
|
-
defaultFilters: remapedDefaultFilters
|
|
103
|
+
defaultFilters: remapedDefaultFilters,
|
|
104
|
+
columnsMeta
|
|
81
105
|
};
|
|
82
106
|
}
|
|
83
|
-
/**
|
|
84
|
-
function
|
|
107
|
+
/** Normalize either option branch into a {primary, secondary} pair of recipes. */
|
|
108
|
+
function resolveInputColumns(ctx, options) {
|
|
109
|
+
if ("primaryColumns" in options) {
|
|
110
|
+
const primary = options.primaryColumns;
|
|
111
|
+
const secondary = options.columns ?? [];
|
|
112
|
+
const labels = require_discoverColumns.discoverLabelColumns(ctx, primary, [...primary, ...secondary]);
|
|
113
|
+
const primaryIds = new Set(primary.map((c) => c.id));
|
|
114
|
+
return {
|
|
115
|
+
primary,
|
|
116
|
+
secondary: (0, _milaboratories_pl_model_common.dedupColumns)([...secondary, ...labels].filter((c) => !primaryIds.has(c.id)), (c) => c.id, (c) => c.getSpec())
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
if ((0, _milaboratories_helpers.isPlainObject)(options.columns)) return require_discoverColumns.discoverTableColumns(ctx, options.columns);
|
|
120
|
+
}
|
|
121
|
+
/** Split secondary recipes by query topology: leaves (no linker chain) vs joined. */
|
|
122
|
+
function splitByTopology(columns) {
|
|
123
|
+
const direct = [];
|
|
124
|
+
const linked = [];
|
|
125
|
+
for (const c of columns) if (require_utils.isLeafColumn(c)) direct.push(c);
|
|
126
|
+
else linked.push(c);
|
|
85
127
|
return {
|
|
86
|
-
direct
|
|
87
|
-
linked
|
|
128
|
+
direct,
|
|
129
|
+
linked
|
|
88
130
|
};
|
|
89
131
|
}
|
|
90
|
-
/** All linker
|
|
132
|
+
/** All linker recipes across the given linked columns, deduped by id. */
|
|
91
133
|
function collectLinkerSnapshots(linked) {
|
|
92
|
-
return (0, _milaboratories_pl_model_common.uniqueBy)(linked.flatMap((
|
|
134
|
+
return (0, _milaboratories_pl_model_common.uniqueBy)(linked.flatMap((c) => require_utils.collectLinkerColumns(c)), (c) => c.id);
|
|
93
135
|
}
|
|
94
|
-
|
|
95
|
-
* Annotate all column groups with derived labels and display-rule annotations.
|
|
96
|
-
* Evaluates `displayOptions` rules against all discovered columns (direct,
|
|
97
|
-
* linked, labels, linkers) and writes the winning visibility/priority into
|
|
98
|
-
* column annotations via `withTableVisualAnnotations`.
|
|
99
|
-
*/
|
|
100
|
-
function annotateColumnGroups(params) {
|
|
101
|
-
const { direct, linked, derivedLabels, derivedTooltips, displayOptions, pframeSpec } = params;
|
|
102
|
-
const allColumnsForRules = [
|
|
103
|
-
...direct.map((v) => v.column),
|
|
104
|
-
...linked.map((v) => v.column),
|
|
105
|
-
...collectLinkerSnapshots(linked)
|
|
106
|
-
];
|
|
107
|
-
const visibilityByColId = require_utils.evaluateRules(displayOptions?.visibility ?? [], allColumnsForRules, pframeSpec);
|
|
108
|
-
const orderByColId = require_utils.evaluateRules(displayOptions?.ordering ?? [], allColumnsForRules, pframeSpec);
|
|
136
|
+
function toLabelableColumn(col) {
|
|
109
137
|
return {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
138
|
+
id: col.id,
|
|
139
|
+
spec: col.getSpec(),
|
|
140
|
+
linkerPath: require_utils.collectLinkerColumns(col).map((linker) => ({ linker: { spec: linker.getSpec() } })),
|
|
141
|
+
qualifications: {
|
|
142
|
+
forHit: [...require_utils.hitQualifications(col)],
|
|
143
|
+
forQueries: require_utils.queriesQualifications(col)
|
|
144
|
+
}
|
|
115
145
|
};
|
|
116
146
|
}
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
147
|
+
/**
|
|
148
|
+
* Compute display metadata as a sidecar keyed by each emitted column's
|
|
149
|
+
* `ColumnUniversalId` (and axis `AxisId`), instead of baking it into the specs
|
|
150
|
+
* via `withSpecs`. Spec overrides change a recipe's id, so the same physical
|
|
151
|
+
* column reached two ways would diverge into two ids and render twice; keeping
|
|
152
|
+
* meta out of the spec preserves identity and lets dedup collapse such cases.
|
|
153
|
+
* The UI overlays this onto the engine-emitted specs at render time.
|
|
154
|
+
*/
|
|
155
|
+
function buildColumnsMeta(params) {
|
|
156
|
+
const { fullColumns, visibleColumns, primaryColumns, derivedLabels } = params;
|
|
157
|
+
const { visibilityByColId, orderByColId } = params;
|
|
158
|
+
const visibleStatus = require_utils$1.buildDataStatusMap(visibleColumns);
|
|
159
|
+
const columns = fullColumns.reduce((acc, c) => {
|
|
160
|
+
const rc = require_utils$1.toRuleColumn(c);
|
|
161
|
+
acc[c.id] = {
|
|
162
|
+
label: derivedLabels[c.id],
|
|
163
|
+
visibility: require_utils$1.getEffectiveVisibility(rc, visibilityByColId),
|
|
164
|
+
order: require_utils$1.getOrderPriority(rc, orderByColId),
|
|
165
|
+
status: visibleStatus[c.id]
|
|
166
|
+
};
|
|
167
|
+
return acc;
|
|
168
|
+
}, {});
|
|
169
|
+
const primaryAxisKeys = new Set(primaryColumns.flatMap((c) => c.getSpec().axesSpec.map((a) => (0, _milaboratories_pl_model_common.canonicalizeAxisId)(a))));
|
|
170
|
+
return {
|
|
171
|
+
columns,
|
|
172
|
+
axes: fullColumns.reduce((acc, c) => c.getSpec().axesSpec.reduce((inner, ax) => {
|
|
173
|
+
const key = (0, _milaboratories_pl_model_common.canonicalizeAxisId)(ax);
|
|
174
|
+
if (inner[key] === void 0) inner[key] = { hidden: !primaryAxisKeys.has(key) };
|
|
175
|
+
return inner;
|
|
176
|
+
}, acc), {})
|
|
146
177
|
};
|
|
147
178
|
}
|
|
148
|
-
/** Drop filter leaves whose column references
|
|
149
|
-
|
|
179
|
+
/** Drop filter leaves whose column references cannot be resolved; rewrite the
|
|
180
|
+
* resolvable ones through the resolver. Prune empty and/or/not groups. */
|
|
181
|
+
function filterFilters(filters, resolver) {
|
|
150
182
|
if ((0, _milaboratories_helpers.isNil)(filters)) return filters;
|
|
151
|
-
const
|
|
152
|
-
if (leaf.type === void 0) return
|
|
153
|
-
|
|
154
|
-
if ("
|
|
155
|
-
|
|
183
|
+
const rewriteLeaf = (leaf) => {
|
|
184
|
+
if (leaf.type === void 0) return leaf;
|
|
185
|
+
const result = { ...leaf };
|
|
186
|
+
if ("column" in result) {
|
|
187
|
+
const c = resolver(result.column);
|
|
188
|
+
if ((0, _milaboratories_helpers.isNil)(c)) return void 0;
|
|
189
|
+
result.column = c;
|
|
190
|
+
}
|
|
191
|
+
if ("rhs" in result) {
|
|
192
|
+
const c = resolver(result.rhs);
|
|
193
|
+
if ((0, _milaboratories_helpers.isNil)(c)) return void 0;
|
|
194
|
+
result.rhs = c;
|
|
195
|
+
}
|
|
196
|
+
return result;
|
|
156
197
|
};
|
|
157
198
|
const prune = (node) => {
|
|
158
199
|
if (node.type === "and" || node.type === "or") {
|
|
159
200
|
const kept = node.filters.map((f) => prune(f)).filter((f) => !(0, _milaboratories_helpers.isNil)(f));
|
|
201
|
+
if (kept.length === 0) return void 0;
|
|
160
202
|
return {
|
|
161
203
|
type: node.type,
|
|
162
204
|
filters: kept
|
|
@@ -169,7 +211,7 @@ function filterFilters(filters, isValidColumnId) {
|
|
|
169
211
|
filter: inner
|
|
170
212
|
};
|
|
171
213
|
}
|
|
172
|
-
return
|
|
214
|
+
return rewriteLeaf(node);
|
|
173
215
|
};
|
|
174
216
|
return prune(filters);
|
|
175
217
|
}
|
|
@@ -182,34 +224,30 @@ function concatFilters(a, b) {
|
|
|
182
224
|
filters: [...a.filters, ...b.filters]
|
|
183
225
|
};
|
|
184
226
|
}
|
|
185
|
-
/** Pick user sorting from state if
|
|
227
|
+
/** Pick user sorting from state if set, otherwise fall back to options default.
|
|
228
|
+
* null = user has not touched sorting → use default;
|
|
229
|
+
* [] = user has explicitly cleared sorting → no sorting (default ignored). */
|
|
186
230
|
function resolveSorting(userSorting, defaultSorting) {
|
|
187
|
-
return ((0,
|
|
231
|
+
return ((0, _milaboratories_helpers.isNil)(userSorting) ? defaultSorting : userSorting) ?? [];
|
|
188
232
|
}
|
|
189
|
-
/**
|
|
190
|
-
function filterSorting(sorting,
|
|
191
|
-
return sorting.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}],
|
|
199
|
-
primaryQualifications: c.qualifications?.forQueries
|
|
200
|
-
})), ...linked.map((lc) => ({
|
|
201
|
-
entries: [{
|
|
202
|
-
column: resolveSnapshot(lc.column),
|
|
203
|
-
linkers: lc.path?.map((s) => resolveSnapshot(s.linker)),
|
|
204
|
-
qualifications: lc.qualifications?.forHit
|
|
205
|
-
}],
|
|
206
|
-
primaryQualifications: lc.qualifications?.forQueries
|
|
207
|
-
}))];
|
|
233
|
+
/** Rewrite sorting entries through the resolver; drop those that fail to resolve. */
|
|
234
|
+
function filterSorting(sorting, resolver) {
|
|
235
|
+
return sorting.flatMap((s) => {
|
|
236
|
+
const col = resolver(s.column);
|
|
237
|
+
return (0, _milaboratories_helpers.isNil)(col) ? [] : [{
|
|
238
|
+
...s,
|
|
239
|
+
column: col
|
|
240
|
+
}];
|
|
241
|
+
});
|
|
208
242
|
}
|
|
209
|
-
/** Determine which columns should be hidden based on state or optional-column defaults.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
243
|
+
/** Determine which columns should be hidden based on state or optional-column defaults.
|
|
244
|
+
* Keyed by the recipe's logical {@link ColumnUniversalId} (rich) — variants of
|
|
245
|
+
* the same physical column are independently visible/hidden. */
|
|
246
|
+
function computeHiddenColumns(params) {
|
|
247
|
+
const { columns, visibilityByColId, sorting, filters, hiddenSpecs } = params;
|
|
248
|
+
const visibilityOf = (c) => require_utils$1.getEffectiveVisibility(require_utils$1.toRuleColumn(c), visibilityByColId);
|
|
249
|
+
const alwaysHidden = columns.filter((c) => visibilityOf(c) === "hidden").map((c) => c.id);
|
|
250
|
+
const optionalHidden = !(0, _milaboratories_helpers.isNil)(hiddenSpecs) ? hiddenSpecs.filter((s) => s.type === "column").map((s) => s.id) : columns.filter((c) => visibilityOf(c) === "optional").map((c) => c.id);
|
|
213
251
|
const initial = [...alwaysHidden, ...optionalHidden];
|
|
214
252
|
const preserved = collectPreservedColumnIds(sorting, filters);
|
|
215
253
|
return new Set(initial.filter((id) => !preserved.has(id)));
|
|
@@ -217,76 +255,68 @@ function computeHiddenColumns(columns, sorting, filters, hiddenSpecs) {
|
|
|
217
255
|
/** Collect IDs of columns that must remain visible (sorted, filtered). */
|
|
218
256
|
function collectPreservedColumnIds(sorting, filters) {
|
|
219
257
|
const sortedIds = (sorting ?? []).map((s) => s.column).filter((c) => c.type === "column").map((c) => c.id);
|
|
220
|
-
const filterIds = !(0, _milaboratories_helpers.isNil)(filters) ? require_traverse.collectFilterSpecColumns(filters).flatMap((c) =>
|
|
221
|
-
const obj = (0, _milaboratories_pl_model_common.parseJson)(c);
|
|
222
|
-
return obj.type === "column" ? [obj.id] : [];
|
|
223
|
-
}) : [];
|
|
258
|
+
const filterIds = !(0, _milaboratories_helpers.isNil)(filters) ? require_traverse.collectFilterSpecColumns(filters).flatMap((c) => c.type === "column" ? [c.id] : []) : [];
|
|
224
259
|
return /* @__PURE__ */ new Set([...sortedIds, ...filterIds]);
|
|
225
260
|
}
|
|
226
|
-
/**
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
direct: annotated.direct.filter((c) => !hiddenColumns.has(c.column.id)),
|
|
230
|
-
linked: annotated.linked.filter((c) => !hiddenColumns.has(c.column.id))
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
/** Resolve a ColumnSnapshot to a PColumn with lazily-evaluated data. */
|
|
234
|
-
function resolveSnapshot(snap) {
|
|
235
|
-
return {
|
|
236
|
-
id: snap.id,
|
|
237
|
-
spec: snap.spec,
|
|
238
|
-
data: snap.data?.get()
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
/** Remap column references in sorting entries. */
|
|
242
|
-
function remapSortingColumnIds(sorting, columns) {
|
|
261
|
+
/** Remap column references in sorting entries through the resolver.
|
|
262
|
+
* Unresolved entries are dropped with a warning (best-effort contract). */
|
|
263
|
+
function remapSortingColumnIds(sorting, resolver) {
|
|
243
264
|
return sorting?.flatMap((s) => {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
265
|
+
const col = resolver(s.column);
|
|
266
|
+
if ((0, _milaboratories_helpers.isNil)(col)) {
|
|
267
|
+
console.warn(`Sorting column ${JSON.stringify(s.column)} does not match any discovered column — dropped.`);
|
|
268
|
+
return [];
|
|
269
|
+
}
|
|
248
270
|
return [{
|
|
249
271
|
...s,
|
|
250
|
-
column:
|
|
251
|
-
type: "column",
|
|
252
|
-
id: column.column.id
|
|
253
|
-
}
|
|
272
|
+
column: col
|
|
254
273
|
}];
|
|
255
274
|
});
|
|
256
275
|
}
|
|
257
|
-
/** Remap column references in a filter tree.
|
|
258
|
-
|
|
276
|
+
/** Remap column references in a filter tree through the resolver.
|
|
277
|
+
* Unresolved leaves are dropped with a warning; empty groups are pruned. */
|
|
278
|
+
function remapFilterColumnIds(filters, resolver) {
|
|
259
279
|
if ((0, _milaboratories_helpers.isNil)(filters)) return filters;
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
280
|
+
const mapLeaf = (leaf) => {
|
|
281
|
+
if (leaf.type === void 0) return leaf;
|
|
282
|
+
const result = { ...leaf };
|
|
283
|
+
if ("column" in result) {
|
|
284
|
+
const c = resolver(result.column);
|
|
285
|
+
if ((0, _milaboratories_helpers.isNil)(c)) {
|
|
286
|
+
console.warn(`Filter column ${JSON.stringify(result.column)} does not match any discovered column — dropped.`);
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
result.column = c;
|
|
290
|
+
}
|
|
291
|
+
if ("rhs" in result) {
|
|
292
|
+
const c = resolver(result.rhs);
|
|
293
|
+
if ((0, _milaboratories_helpers.isNil)(c)) {
|
|
294
|
+
console.warn(`Filter rhs ${JSON.stringify(result.rhs)} does not match any discovered column — dropped.`);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
result.rhs = c;
|
|
298
|
+
}
|
|
299
|
+
return result;
|
|
268
300
|
};
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
})
|
|
289
|
-
});
|
|
301
|
+
const prune = (node) => {
|
|
302
|
+
if (node.type === "and" || node.type === "or") {
|
|
303
|
+
const kept = node.filters.map((f) => prune(f)).filter((f) => !(0, _milaboratories_helpers.isNil)(f));
|
|
304
|
+
if (kept.length === 0) return void 0;
|
|
305
|
+
return {
|
|
306
|
+
type: node.type,
|
|
307
|
+
filters: kept
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
if (node.type === "not") {
|
|
311
|
+
const inner = prune(node.filter);
|
|
312
|
+
return (0, _milaboratories_helpers.isNil)(inner) ? void 0 : {
|
|
313
|
+
type: "not",
|
|
314
|
+
filter: inner
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
return mapLeaf(node);
|
|
318
|
+
};
|
|
319
|
+
return prune(filters);
|
|
290
320
|
}
|
|
291
321
|
//#endregion
|
|
292
322
|
exports.createPlDataTableV3 = createPlDataTableV3;
|