@platforma-sdk/model 1.66.2 → 1.68.0

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.
Files changed (59) hide show
  1. package/dist/block_model.d.ts +4 -0
  2. package/dist/block_model.d.ts.map +1 -1
  3. package/dist/block_state_util.cjs +2 -1
  4. package/dist/block_state_util.cjs.map +1 -1
  5. package/dist/block_state_util.js +2 -1
  6. package/dist/block_state_util.js.map +1 -1
  7. package/dist/columns/column_collection_builder.cjs +1 -1
  8. package/dist/columns/column_collection_builder.d.ts +1 -1
  9. package/dist/columns/column_collection_builder.js +1 -1
  10. package/dist/columns/index.cjs +2 -2
  11. package/dist/columns/index.d.ts +1 -1
  12. package/dist/columns/index.js +2 -2
  13. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs +1 -0
  14. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs.map +1 -1
  15. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts +3 -3
  16. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js +1 -0
  17. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js.map +1 -1
  18. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts +1 -1
  19. package/dist/components/PlDatasetSelector/build_dataset_options.cjs +41 -0
  20. package/dist/components/PlDatasetSelector/build_dataset_options.cjs.map +1 -0
  21. package/dist/components/PlDatasetSelector/build_dataset_options.d.ts +19 -0
  22. package/dist/components/PlDatasetSelector/build_dataset_options.d.ts.map +1 -0
  23. package/dist/components/PlDatasetSelector/build_dataset_options.js +41 -0
  24. package/dist/components/PlDatasetSelector/build_dataset_options.js.map +1 -0
  25. package/dist/components/PlDatasetSelector/filter_discovery.cjs +60 -0
  26. package/dist/components/PlDatasetSelector/filter_discovery.cjs.map +1 -0
  27. package/dist/components/PlDatasetSelector/filter_discovery.d.ts +31 -0
  28. package/dist/components/PlDatasetSelector/filter_discovery.d.ts.map +1 -0
  29. package/dist/components/PlDatasetSelector/filter_discovery.js +56 -0
  30. package/dist/components/PlDatasetSelector/filter_discovery.js.map +1 -0
  31. package/dist/components/PlDatasetSelector/index.cjs +2 -0
  32. package/dist/components/PlDatasetSelector/index.d.ts +2 -0
  33. package/dist/components/PlDatasetSelector/index.js +2 -0
  34. package/dist/components/index.cjs +3 -0
  35. package/dist/components/index.d.ts +2 -0
  36. package/dist/components/index.js +3 -0
  37. package/dist/index.cjs +10 -4
  38. package/dist/index.d.ts +7 -5
  39. package/dist/index.js +7 -5
  40. package/dist/package.cjs +1 -1
  41. package/dist/package.js +1 -1
  42. package/dist/platforma.d.ts.map +1 -1
  43. package/dist/services/block_services.cjs +5 -1
  44. package/dist/services/block_services.cjs.map +1 -1
  45. package/dist/services/block_services.d.ts +2 -0
  46. package/dist/services/block_services.d.ts.map +1 -1
  47. package/dist/services/block_services.js +5 -1
  48. package/dist/services/block_services.js.map +1 -1
  49. package/package.json +7 -7
  50. package/src/block_state_util.ts +2 -1
  51. package/src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts +1 -0
  52. package/src/components/PlDatasetSelector/build_dataset_options.ts +56 -0
  53. package/src/components/PlDatasetSelector/filter_discovery.test.ts +156 -0
  54. package/src/components/PlDatasetSelector/filter_discovery.ts +77 -0
  55. package/src/components/PlDatasetSelector/index.ts +2 -0
  56. package/src/components/index.ts +1 -0
  57. package/src/platforma.ts +2 -1
  58. package/src/services/block_services.ts +2 -0
  59. package/src/services/service_resolve.ts +0 -2
@@ -0,0 +1,60 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_derive_distinct_labels = require("../../labels/derive_distinct_labels.cjs");
3
+ let _milaboratories_pl_model_common = require("@milaboratories/pl-model-common");
4
+ let canonicalize = require("canonicalize");
5
+ canonicalize = require_runtime.__toESM(canonicalize);
6
+ //#region src/components/PlDatasetSelector/filter_discovery.ts
7
+ /**
8
+ * Matches columns annotated `pl7.app/isSubset: "true"` whose axes ⊆ anchor axes.
9
+ *
10
+ * The axes-subset constraint is enforced by `mode: "enrichment"`, which sets
11
+ * `allowFloatingHitAxes: false` — every axis of the matched column must be
12
+ * present in the anchor's axes. See `matchingModeToConstraints()` in
13
+ * `column_collection_builder.ts`.
14
+ */
15
+ function findFilterColumns(collection) {
16
+ return collection.findColumns({
17
+ mode: "enrichment",
18
+ include: { annotations: { [_milaboratories_pl_model_common.Annotation.IsSubset]: "true" } }
19
+ });
20
+ }
21
+ /**
22
+ * Derive labeled options from filter column matches, for use in DatasetOption.filters.
23
+ *
24
+ * @param matches - from findFilterColumns()
25
+ * @param refsByObjectId - from {@link buildRefMap}
26
+ * @param labelOptions - forwarded to deriveDistinctLabels()
27
+ */
28
+ function filterMatchesToOptions(matches, refsByObjectId, labelOptions) {
29
+ if (matches.length === 0) return [];
30
+ const flattened = matches.flatMap((m) => m.variants.map((v) => ({
31
+ match: m,
32
+ variant: v
33
+ })));
34
+ const labels = require_derive_distinct_labels.deriveDistinctLabels(flattened.map(({ match, variant }) => ({
35
+ spec: match.column.spec,
36
+ linkerPath: variant.path.map((p) => ({ spec: p.linker.spec }))
37
+ })), labelOptions);
38
+ return flattened.map(({ match }, i) => {
39
+ const ref = refsByObjectId.get(match.column.id);
40
+ if (ref === void 0) throw new Error(`no PlRef found for filter column ${match.column.spec.name} (id: ${match.column.id})`);
41
+ return {
42
+ ref,
43
+ label: labels[i]
44
+ };
45
+ });
46
+ }
47
+ /**
48
+ * Usage: `buildRefMap(ctx.resultPool.getSpecs().entries)`
49
+ */
50
+ function buildRefMap(entries) {
51
+ const map = /* @__PURE__ */ new Map();
52
+ for (const entry of entries) map.set((0, canonicalize.default)(entry.ref), entry.ref);
53
+ return map;
54
+ }
55
+ //#endregion
56
+ exports.buildRefMap = buildRefMap;
57
+ exports.filterMatchesToOptions = filterMatchesToOptions;
58
+ exports.findFilterColumns = findFilterColumns;
59
+
60
+ //# sourceMappingURL=filter_discovery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter_discovery.cjs","names":["Annotation","deriveDistinctLabels"],"sources":["../../../src/components/PlDatasetSelector/filter_discovery.ts"],"sourcesContent":["import { Annotation } from \"@milaboratories/pl-model-common\";\nimport type { Option, PlRef, PObjectId } from \"@milaboratories/pl-model-common\";\nimport canonicalize from \"canonicalize\";\nimport type {\n AnchoredColumnCollection,\n ColumnMatch,\n} from \"../../columns/column_collection_builder\";\nimport {\n deriveDistinctLabels,\n type DeriveLabelsOptions,\n type Entry,\n} from \"../../labels/derive_distinct_labels\";\n\n/**\n * Matches columns annotated `pl7.app/isSubset: \"true\"` whose axes ⊆ anchor axes.\n *\n * The axes-subset constraint is enforced by `mode: \"enrichment\"`, which sets\n * `allowFloatingHitAxes: false` — every axis of the matched column must be\n * present in the anchor's axes. See `matchingModeToConstraints()` in\n * `column_collection_builder.ts`.\n */\nexport function findFilterColumns(collection: AnchoredColumnCollection): ColumnMatch[] {\n return collection.findColumns({\n mode: \"enrichment\",\n include: {\n annotations: { [Annotation.IsSubset]: \"true\" },\n },\n });\n}\n\n/**\n * Derive labeled options from filter column matches, for use in DatasetOption.filters.\n *\n * @param matches - from findFilterColumns()\n * @param refsByObjectId - from {@link buildRefMap}\n * @param labelOptions - forwarded to deriveDistinctLabels()\n */\nexport function filterMatchesToOptions(\n matches: ColumnMatch[],\n refsByObjectId: ReadonlyMap<PObjectId, PlRef>,\n labelOptions?: DeriveLabelsOptions,\n): Option[] {\n if (matches.length === 0) return [];\n\n // Each ColumnMatch can be reached via multiple variants (different linker\n // paths / qualifications). We emit one Option per variant so the user can\n // pick a specific path — `deriveDistinctLabels` disambiguates labels by\n // path.\n const flattened = matches.flatMap((m) => m.variants.map((v) => ({ match: m, variant: v })));\n\n const entries: Entry[] = flattened.map(({ match, variant }) => ({\n spec: match.column.spec,\n linkerPath: variant.path.map((p) => ({ spec: p.linker.spec })),\n }));\n\n const labels = deriveDistinctLabels(entries, labelOptions);\n\n return flattened.map(({ match }, i) => {\n const ref = refsByObjectId.get(match.column.id);\n if (ref === undefined)\n throw new Error(\n `no PlRef found for filter column ${match.column.spec.name} (id: ${match.column.id})`,\n );\n return { ref, label: labels[i] };\n });\n}\n\n/**\n * Usage: `buildRefMap(ctx.resultPool.getSpecs().entries)`\n */\nexport function buildRefMap(entries: readonly { readonly ref: PlRef }[]): Map<PObjectId, PlRef> {\n const map = new Map<PObjectId, PlRef>();\n for (const entry of entries) {\n map.set(canonicalize(entry.ref)! as PObjectId, entry.ref);\n }\n return map;\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,SAAgB,kBAAkB,YAAqD;AACrF,QAAO,WAAW,YAAY;EAC5B,MAAM;EACN,SAAS,EACP,aAAa,GAAGA,gCAAAA,WAAW,WAAW,QAAQ,EAC/C;EACF,CAAC;;;;;;;;;AAUJ,SAAgB,uBACd,SACA,gBACA,cACU;AACV,KAAI,QAAQ,WAAW,EAAG,QAAO,EAAE;CAMnC,MAAM,YAAY,QAAQ,SAAS,MAAM,EAAE,SAAS,KAAK,OAAO;EAAE,OAAO;EAAG,SAAS;EAAG,EAAE,CAAC;CAO3F,MAAM,SAASC,+BAAAA,qBALU,UAAU,KAAK,EAAE,OAAO,eAAe;EAC9D,MAAM,MAAM,OAAO;EACnB,YAAY,QAAQ,KAAK,KAAK,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM,EAAE;EAC/D,EAAE,EAE0C,aAAa;AAE1D,QAAO,UAAU,KAAK,EAAE,SAAS,MAAM;EACrC,MAAM,MAAM,eAAe,IAAI,MAAM,OAAO,GAAG;AAC/C,MAAI,QAAQ,KAAA,EACV,OAAM,IAAI,MACR,oCAAoC,MAAM,OAAO,KAAK,KAAK,QAAQ,MAAM,OAAO,GAAG,GACpF;AACH,SAAO;GAAE;GAAK,OAAO,OAAO;GAAI;GAChC;;;;;AAMJ,SAAgB,YAAY,SAAoE;CAC9F,MAAM,sBAAM,IAAI,KAAuB;AACvC,MAAK,MAAM,SAAS,QAClB,KAAI,KAAA,GAAA,aAAA,SAAiB,MAAM,IAAI,EAAgB,MAAM,IAAI;AAE3D,QAAO"}
@@ -0,0 +1,31 @@
1
+ import { DeriveLabelsOptions } from "../../labels/derive_distinct_labels.js";
2
+ import { AnchoredColumnCollection, ColumnMatch } from "../../columns/column_collection_builder.js";
3
+ import { Option, PObjectId, PlRef } from "@milaboratories/pl-model-common";
4
+
5
+ //#region src/components/PlDatasetSelector/filter_discovery.d.ts
6
+ /**
7
+ * Matches columns annotated `pl7.app/isSubset: "true"` whose axes ⊆ anchor axes.
8
+ *
9
+ * The axes-subset constraint is enforced by `mode: "enrichment"`, which sets
10
+ * `allowFloatingHitAxes: false` — every axis of the matched column must be
11
+ * present in the anchor's axes. See `matchingModeToConstraints()` in
12
+ * `column_collection_builder.ts`.
13
+ */
14
+ declare function findFilterColumns(collection: AnchoredColumnCollection): ColumnMatch[];
15
+ /**
16
+ * Derive labeled options from filter column matches, for use in DatasetOption.filters.
17
+ *
18
+ * @param matches - from findFilterColumns()
19
+ * @param refsByObjectId - from {@link buildRefMap}
20
+ * @param labelOptions - forwarded to deriveDistinctLabels()
21
+ */
22
+ declare function filterMatchesToOptions(matches: ColumnMatch[], refsByObjectId: ReadonlyMap<PObjectId, PlRef>, labelOptions?: DeriveLabelsOptions): Option[];
23
+ /**
24
+ * Usage: `buildRefMap(ctx.resultPool.getSpecs().entries)`
25
+ */
26
+ declare function buildRefMap(entries: readonly {
27
+ readonly ref: PlRef;
28
+ }[]): Map<PObjectId, PlRef>;
29
+ //#endregion
30
+ export { buildRefMap, filterMatchesToOptions, findFilterColumns };
31
+ //# sourceMappingURL=filter_discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter_discovery.d.ts","names":[],"sources":["../../../src/components/PlDatasetSelector/filter_discovery.ts"],"mappings":";;;;;;;AAqBA;;;;;;iBAAgB,iBAAA,CAAkB,UAAA,EAAY,wBAAA,GAA2B,WAAA;;;AAgBzE;;;;;iBAAgB,sBAAA,CACd,OAAA,EAAS,WAAA,IACT,cAAA,EAAgB,WAAA,CAAY,SAAA,EAAW,KAAA,GACvC,YAAA,GAAe,mBAAA,GACd,MAAA;;;;iBA6Ba,WAAA,CAAY,OAAA;EAAA,SAA6B,GAAA,EAAK,KAAA;AAAA,MAAY,GAAA,CAAI,SAAA,EAAW,KAAA"}
@@ -0,0 +1,56 @@
1
+ import { deriveDistinctLabels } from "../../labels/derive_distinct_labels.js";
2
+ import { Annotation } from "@milaboratories/pl-model-common";
3
+ import canonicalize from "canonicalize";
4
+ //#region src/components/PlDatasetSelector/filter_discovery.ts
5
+ /**
6
+ * Matches columns annotated `pl7.app/isSubset: "true"` whose axes ⊆ anchor axes.
7
+ *
8
+ * The axes-subset constraint is enforced by `mode: "enrichment"`, which sets
9
+ * `allowFloatingHitAxes: false` — every axis of the matched column must be
10
+ * present in the anchor's axes. See `matchingModeToConstraints()` in
11
+ * `column_collection_builder.ts`.
12
+ */
13
+ function findFilterColumns(collection) {
14
+ return collection.findColumns({
15
+ mode: "enrichment",
16
+ include: { annotations: { [Annotation.IsSubset]: "true" } }
17
+ });
18
+ }
19
+ /**
20
+ * Derive labeled options from filter column matches, for use in DatasetOption.filters.
21
+ *
22
+ * @param matches - from findFilterColumns()
23
+ * @param refsByObjectId - from {@link buildRefMap}
24
+ * @param labelOptions - forwarded to deriveDistinctLabels()
25
+ */
26
+ function filterMatchesToOptions(matches, refsByObjectId, labelOptions) {
27
+ if (matches.length === 0) return [];
28
+ const flattened = matches.flatMap((m) => m.variants.map((v) => ({
29
+ match: m,
30
+ variant: v
31
+ })));
32
+ const labels = deriveDistinctLabels(flattened.map(({ match, variant }) => ({
33
+ spec: match.column.spec,
34
+ linkerPath: variant.path.map((p) => ({ spec: p.linker.spec }))
35
+ })), labelOptions);
36
+ return flattened.map(({ match }, i) => {
37
+ const ref = refsByObjectId.get(match.column.id);
38
+ if (ref === void 0) throw new Error(`no PlRef found for filter column ${match.column.spec.name} (id: ${match.column.id})`);
39
+ return {
40
+ ref,
41
+ label: labels[i]
42
+ };
43
+ });
44
+ }
45
+ /**
46
+ * Usage: `buildRefMap(ctx.resultPool.getSpecs().entries)`
47
+ */
48
+ function buildRefMap(entries) {
49
+ const map = /* @__PURE__ */ new Map();
50
+ for (const entry of entries) map.set(canonicalize(entry.ref), entry.ref);
51
+ return map;
52
+ }
53
+ //#endregion
54
+ export { buildRefMap, filterMatchesToOptions, findFilterColumns };
55
+
56
+ //# sourceMappingURL=filter_discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter_discovery.js","names":[],"sources":["../../../src/components/PlDatasetSelector/filter_discovery.ts"],"sourcesContent":["import { Annotation } from \"@milaboratories/pl-model-common\";\nimport type { Option, PlRef, PObjectId } from \"@milaboratories/pl-model-common\";\nimport canonicalize from \"canonicalize\";\nimport type {\n AnchoredColumnCollection,\n ColumnMatch,\n} from \"../../columns/column_collection_builder\";\nimport {\n deriveDistinctLabels,\n type DeriveLabelsOptions,\n type Entry,\n} from \"../../labels/derive_distinct_labels\";\n\n/**\n * Matches columns annotated `pl7.app/isSubset: \"true\"` whose axes ⊆ anchor axes.\n *\n * The axes-subset constraint is enforced by `mode: \"enrichment\"`, which sets\n * `allowFloatingHitAxes: false` — every axis of the matched column must be\n * present in the anchor's axes. See `matchingModeToConstraints()` in\n * `column_collection_builder.ts`.\n */\nexport function findFilterColumns(collection: AnchoredColumnCollection): ColumnMatch[] {\n return collection.findColumns({\n mode: \"enrichment\",\n include: {\n annotations: { [Annotation.IsSubset]: \"true\" },\n },\n });\n}\n\n/**\n * Derive labeled options from filter column matches, for use in DatasetOption.filters.\n *\n * @param matches - from findFilterColumns()\n * @param refsByObjectId - from {@link buildRefMap}\n * @param labelOptions - forwarded to deriveDistinctLabels()\n */\nexport function filterMatchesToOptions(\n matches: ColumnMatch[],\n refsByObjectId: ReadonlyMap<PObjectId, PlRef>,\n labelOptions?: DeriveLabelsOptions,\n): Option[] {\n if (matches.length === 0) return [];\n\n // Each ColumnMatch can be reached via multiple variants (different linker\n // paths / qualifications). We emit one Option per variant so the user can\n // pick a specific path — `deriveDistinctLabels` disambiguates labels by\n // path.\n const flattened = matches.flatMap((m) => m.variants.map((v) => ({ match: m, variant: v })));\n\n const entries: Entry[] = flattened.map(({ match, variant }) => ({\n spec: match.column.spec,\n linkerPath: variant.path.map((p) => ({ spec: p.linker.spec })),\n }));\n\n const labels = deriveDistinctLabels(entries, labelOptions);\n\n return flattened.map(({ match }, i) => {\n const ref = refsByObjectId.get(match.column.id);\n if (ref === undefined)\n throw new Error(\n `no PlRef found for filter column ${match.column.spec.name} (id: ${match.column.id})`,\n );\n return { ref, label: labels[i] };\n });\n}\n\n/**\n * Usage: `buildRefMap(ctx.resultPool.getSpecs().entries)`\n */\nexport function buildRefMap(entries: readonly { readonly ref: PlRef }[]): Map<PObjectId, PlRef> {\n const map = new Map<PObjectId, PlRef>();\n for (const entry of entries) {\n map.set(canonicalize(entry.ref)! as PObjectId, entry.ref);\n }\n return map;\n}\n"],"mappings":";;;;;;;;;;;;AAqBA,SAAgB,kBAAkB,YAAqD;AACrF,QAAO,WAAW,YAAY;EAC5B,MAAM;EACN,SAAS,EACP,aAAa,GAAG,WAAW,WAAW,QAAQ,EAC/C;EACF,CAAC;;;;;;;;;AAUJ,SAAgB,uBACd,SACA,gBACA,cACU;AACV,KAAI,QAAQ,WAAW,EAAG,QAAO,EAAE;CAMnC,MAAM,YAAY,QAAQ,SAAS,MAAM,EAAE,SAAS,KAAK,OAAO;EAAE,OAAO;EAAG,SAAS;EAAG,EAAE,CAAC;CAO3F,MAAM,SAAS,qBALU,UAAU,KAAK,EAAE,OAAO,eAAe;EAC9D,MAAM,MAAM,OAAO;EACnB,YAAY,QAAQ,KAAK,KAAK,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM,EAAE;EAC/D,EAAE,EAE0C,aAAa;AAE1D,QAAO,UAAU,KAAK,EAAE,SAAS,MAAM;EACrC,MAAM,MAAM,eAAe,IAAI,MAAM,OAAO,GAAG;AAC/C,MAAI,QAAQ,KAAA,EACV,OAAM,IAAI,MACR,oCAAoC,MAAM,OAAO,KAAK,KAAK,QAAQ,MAAM,OAAO,GAAG,GACpF;AACH,SAAO;GAAE;GAAK,OAAO,OAAO;GAAI;GAChC;;;;;AAMJ,SAAgB,YAAY,SAAoE;CAC9F,MAAM,sBAAM,IAAI,KAAuB;AACvC,MAAK,MAAM,SAAS,QAClB,KAAI,IAAI,aAAa,MAAM,IAAI,EAAgB,MAAM,IAAI;AAE3D,QAAO"}
@@ -0,0 +1,2 @@
1
+ require("./filter_discovery.cjs");
2
+ require("./build_dataset_options.cjs");
@@ -0,0 +1,2 @@
1
+ import { buildRefMap, filterMatchesToOptions, findFilterColumns } from "./filter_discovery.js";
2
+ import { BuildDatasetOptions, buildDatasetOptions } from "./build_dataset_options.js";
@@ -0,0 +1,2 @@
1
+ import "./filter_discovery.js";
2
+ import "./build_dataset_options.js";
@@ -1,6 +1,9 @@
1
1
  require("../pframe_utils/axes.cjs");
2
2
  require("./PFrameForGraphs.cjs");
3
3
  require("./PlAnnotations/filters_ui.cjs");
4
+ require("./PlDatasetSelector/filter_discovery.cjs");
5
+ require("./PlDatasetSelector/build_dataset_options.cjs");
6
+ require("./PlDatasetSelector/index.cjs");
4
7
  require("./PlDataTable/state-migration.cjs");
5
8
  require("./PlDataTable/createPlDataTableSheet.cjs");
6
9
  require("./PlDataTable/createPlDataTable/utils.cjs");
@@ -2,6 +2,8 @@ import { AxesVault, enrichCompatible, getAvailableWithLinkersAxes } from "../pfr
2
2
  import { createPFrameForGraphs, isHiddenFromGraphColumn, isHiddenFromUIColumn } from "./PFrameForGraphs.js";
3
3
  import { AndFilter, AnnotationFilter, AnnotationMode, AnnotationScript, AnnotationScript2, AnnotationStep, IsNA, Log10, NotFilter, NumericalComparisonFilter, OrFilter, PatternFilter, PatternPredicate, PatternPredicateContainSubsequence, PatternPredicateEquals, SortedCumulativeSum, TransformedColumn, ValueRank } from "./PlAnnotations/filter.js";
4
4
  import { AnnotationScriptUi, AnnotationStepUi, AnyForm, FilterUi, FilterUiOfType, FilterUiType, FormField, TypeField, TypeFieldRecord, TypeForm, TypeToLiteral, compileAnnotationScript, compileFilter, compileFilters, unreachable } from "./PlAnnotations/filters_ui.js";
5
+ import { buildRefMap, filterMatchesToOptions, findFilterColumns } from "./PlDatasetSelector/filter_discovery.js";
6
+ import { BuildDatasetOptions, buildDatasetOptions } from "./PlDatasetSelector/build_dataset_options.js";
5
7
  import { PTableParamsV2, PlDataTableFilterMeta, PlDataTableFilterSpecLeaf, PlDataTableFilters, PlDataTableFiltersWithMeta, PlDataTableGridStateCore, PlDataTableModel, PlDataTableSheet, PlDataTableSheetState, PlDataTableStateV2CacheEntry, PlDataTableStateV2Normalized, PlTableColumnId, PlTableColumnIdJson } from "./PlDataTable/typesV5.js";
6
8
  import { PlDataTableStateV2, createDefaultPTableParams, createPlDataTableStateV2, upgradePlDataTableStateV2 } from "./PlDataTable/state-migration.js";
7
9
  import { createPlDataTableSheet } from "./PlDataTable/createPlDataTableSheet.js";
@@ -1,6 +1,9 @@
1
1
  import "../pframe_utils/axes.js";
2
2
  import "./PFrameForGraphs.js";
3
3
  import "./PlAnnotations/filters_ui.js";
4
+ import "./PlDatasetSelector/filter_discovery.js";
5
+ import "./PlDatasetSelector/build_dataset_options.js";
6
+ import "./PlDatasetSelector/index.js";
4
7
  import "./PlDataTable/state-migration.js";
5
8
  import "./PlDataTable/createPlDataTableSheet.js";
6
9
  import "./PlDataTable/createPlDataTable/utils.js";
package/dist/index.cjs CHANGED
@@ -31,6 +31,12 @@ const require_axes = require("./pframe_utils/axes.cjs");
31
31
  const require_columns = require("./pframe_utils/columns.cjs");
32
32
  const require_PFrameForGraphs = require("./components/PFrameForGraphs.cjs");
33
33
  const require_filters_ui = require("./components/PlAnnotations/filters_ui.cjs");
34
+ const require_filter_discovery = require("./components/PlDatasetSelector/filter_discovery.cjs");
35
+ const require_column_selector = require("./columns/column_selector.cjs");
36
+ const require_column_snapshot_provider = require("./columns/column_snapshot_provider.cjs");
37
+ const require_column_collection_builder = require("./columns/column_collection_builder.cjs");
38
+ const require_ctx_column_sources = require("./columns/ctx_column_sources.cjs");
39
+ const require_build_dataset_options = require("./components/PlDatasetSelector/build_dataset_options.cjs");
34
40
  const require_filterToQuery = require("./filters/converters/filterToQuery.cjs");
35
41
  const require_filterUiToExpressionImpl = require("./filters/converters/filterUiToExpressionImpl.cjs");
36
42
  const require_distill = require("./filters/distill.cjs");
@@ -38,10 +44,6 @@ require("./filters/index.cjs");
38
44
  const require_state_migration = require("./components/PlDataTable/state-migration.cjs");
39
45
  const require_createPlDataTableSheet = require("./components/PlDataTable/createPlDataTableSheet.cjs");
40
46
  const require_column_snapshot = require("./columns/column_snapshot.cjs");
41
- const require_column_snapshot_provider = require("./columns/column_snapshot_provider.cjs");
42
- const require_column_selector = require("./columns/column_selector.cjs");
43
- const require_column_collection_builder = require("./columns/column_collection_builder.cjs");
44
- const require_ctx_column_sources = require("./columns/ctx_column_sources.cjs");
45
47
  const require_expand_by_partition = require("./columns/expand_by_partition.cjs");
46
48
  require("./columns/index.cjs");
47
49
  const require_derive_distinct_tooltips = require("./labels/derive_distinct_tooltips.cjs");
@@ -112,6 +114,8 @@ exports.UiState = require_actions.UiState;
112
114
  exports.allPColumnsReady = require_pcolumn_data.allPColumnsReady;
113
115
  exports.and = require_actions.and;
114
116
  exports.blockServiceNames = require_block_services.blockServiceNames;
117
+ exports.buildDatasetOptions = require_build_dataset_options.buildDatasetOptions;
118
+ exports.buildRefMap = require_filter_discovery.buildRefMap;
115
119
  exports.buildServices = require_service_bridge.buildServices;
116
120
  exports.collectCtxColumnSnapshotProviders = require_ctx_column_sources.collectCtxColumnSnapshotProviders;
117
121
  exports.compileAnnotationScript = require_filters_ui.compileAnnotationScript;
@@ -149,7 +153,9 @@ exports.expandByPartition = require_expand_by_partition.expandByPartition;
149
153
  exports.extractArchiveAndGetURL = require_actions.extractArchiveAndGetURL;
150
154
  exports.extractConfig = require_normalization.extractConfig;
151
155
  exports.filterDataInfoEntries = require_axis_filtering.filterDataInfoEntries;
156
+ exports.filterMatchesToOptions = require_filter_discovery.filterMatchesToOptions;
152
157
  exports.filterSpecToSpecQueryExpr = require_filterToQuery.filterSpecToSpecQueryExpr;
158
+ exports.findFilterColumns = require_filter_discovery.findFilterColumns;
153
159
  exports.flatten = require_actions.flatten;
154
160
  exports.fromPlOption = require_ref_util.fromPlOption;
155
161
  exports.fromPlRef = require_ref_util.fromPlRef;
package/dist/index.d.ts CHANGED
@@ -44,14 +44,16 @@ import { distillFilterSpec } from "./filters/distill.js";
44
44
  import { AnnotationSpec, AnnotationSpecUi, ExpressionSpec, FilterSpecUi } from "./annotations/types.js";
45
45
  import { convertFilterSpecsToExpressionSpecs } from "./annotations/converter.js";
46
46
  import { AnnotationScriptUi, AnnotationStepUi, AnyForm, FilterUi, FilterUiOfType, FilterUiType, FormField, TypeField, TypeFieldRecord, TypeForm, TypeToLiteral, compileAnnotationScript, compileFilter, compileFilters, unreachable } from "./components/PlAnnotations/filters_ui.js";
47
+ import { ColumnSelector, RelaxedAxisSelector, RelaxedColumnSelector, RelaxedRecord, RelaxedStringMatchers, StringMatcher, convertColumnSelectorToMultiColumnSelector, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector } from "./columns/column_selector.js";
48
+ import { ColumnData, ColumnDataStatus, ColumnSnapshot, createColumnSnapshot, createReadyColumnData } from "./columns/column_snapshot.js";
49
+ import { ArrayColumnProvider, ColumnSnapshotProvider, ColumnSource, OutputColumnProvider, OutputColumnProviderOpts, SnapshotColumnProvider, isColumnSnapshotProvider, toColumnSnapshotProvider } from "./columns/column_snapshot_provider.js";
50
+ import { AnchorEntry, AnchoredBuildOptions, AnchoredColumnCollection, AnchoredFindColumnsOptions, BuildOptions, ColumnCollection, ColumnCollectionBuilder, ColumnMatch, FindColumnsOptions, MatchQualifications, MatchVariant, MatchingMode } from "./columns/column_collection_builder.js";
51
+ import { buildRefMap, filterMatchesToOptions, findFilterColumns } from "./components/PlDatasetSelector/filter_discovery.js";
52
+ import { BuildDatasetOptions, buildDatasetOptions } from "./components/PlDatasetSelector/build_dataset_options.js";
47
53
  import { PTableParamsV2, PlDataTableFilterMeta, PlDataTableFilterSpecLeaf, PlDataTableFilters, PlDataTableFiltersWithMeta, PlDataTableGridStateCore, PlDataTableModel, PlDataTableSheet, PlDataTableSheetState, PlDataTableStateV2CacheEntry, PlDataTableStateV2Normalized, PlTableColumnId, PlTableColumnIdJson } from "./components/PlDataTable/typesV5.js";
48
54
  import { PlDataTableStateV2, createDefaultPTableParams, createPlDataTableStateV2, upgradePlDataTableStateV2 } from "./components/PlDataTable/state-migration.js";
49
55
  import { createPlDataTableSheet } from "./components/PlDataTable/createPlDataTableSheet.js";
50
56
  import { createPlDataTableV2 } from "./components/PlDataTable/createPlDataTable/createPlDataTableV2.js";
51
- import { ColumnData, ColumnDataStatus, ColumnSnapshot, createColumnSnapshot, createReadyColumnData } from "./columns/column_snapshot.js";
52
- import { ArrayColumnProvider, ColumnSnapshotProvider, ColumnSource, OutputColumnProvider, OutputColumnProviderOpts, SnapshotColumnProvider, isColumnSnapshotProvider, toColumnSnapshotProvider } from "./columns/column_snapshot_provider.js";
53
- import { ColumnSelector, RelaxedAxisSelector, RelaxedColumnSelector, RelaxedRecord, RelaxedStringMatchers, StringMatcher, convertColumnSelectorToMultiColumnSelector, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector } from "./columns/column_selector.js";
54
- import { AnchorEntry, AnchoredBuildOptions, AnchoredColumnCollection, AnchoredFindColumnsOptions, BuildOptions, ColumnCollection, ColumnCollectionBuilder, ColumnMatch, FindColumnsOptions, MatchQualifications, MatchVariant, MatchingMode } from "./columns/column_collection_builder.js";
55
57
  import { ResultPoolColumnSnapshotProvider, collectCtxColumnSnapshotProviders } from "./columns/ctx_column_sources.js";
56
58
  import { ExpandByPartitionOpts, ExpandByPartitionResult, SplitAxis, expandByPartition } from "./columns/expand_by_partition.js";
57
59
  import { discoverTableColumnSnaphots } from "./components/PlDataTable/createPlDataTable/discoverColumns.js";
@@ -71,4 +73,4 @@ import { getService } from "./services/get_services.js";
71
73
  import { getEnvironmentValue } from "./env_value.js";
72
74
  export * from "@milaboratories/pl-model-common";
73
75
  export * from "@milaboratories/pl-error-like";
74
- export { ActAnd, ActExtractArchiveAndGetURL, ActFlatten, ActGetBlobContent, ActGetBlobContentAsJson, ActGetBlobContentAsString, ActGetDownloadedBlobContent, ActGetField, ActGetFromCtx, ActGetImmediate, ActGetLastLogs, ActGetLogHandle, ActGetOnDemandBlobContent, ActGetProgressLog, ActGetProgressLogWithInfo, ActGetResourceField, ActGetResourceValueAsJson, ActImportProgress, ActIsEmpty, ActIsolate, ActMakeArray, ActMakeObject, ActMapArrayValues, ActMapRecordValues, ActMapResourceFields, ActNot, ActOr, ActionResult, AnchorEntry, AnchoredBuildOptions, AnchoredColumnCollection, AnchoredFindColumnsOptions, AndFilter, AnnotationFilter, AnnotationMode, AnnotationScript, AnnotationScript2, AnnotationScriptUi, AnnotationSpec, AnnotationSpecUi, AnnotationStep, AnnotationStepUi, AnyForm, Args, ArrayColumnProvider, AxesVault, AxisLabelProvider, BLOCK_SERVICE_FLAGS, BLOCK_STORAGE_FACADE_VERSION, BlockApiV1, BlockApiV2, BlockConfig, BlockConfigV3, BlockConfigV4, BlockDefaultModelServices, BlockDefaultUiServices, BlockModel, BlockModelInfo, BlockModelV3, BlockRenderCtx, BlockServiceFlags, BlockStatePatch, type BlockStorage, BlockStorageFacade, BlockStorageFacadeCallbacks, BlockStorageFacadeHandles, type BlockStorageSchemaVersion, BuildOptions, CancelSubscription, Cfg, CfgAnd, CfgBlobContent, CfgBlobContentAsJson, CfgBlobContentAsString, CfgDownloadedBlobContent, CfgExtractArchiveAndGetURL, CfgFlatten, CfgGetFromCtx, CfgGetJsonField, CfgGetResourceField, CfgImmediate, CfgImportProgress, CfgIsEmpty, CfgIsolate, CfgLastLogs, CfgLogHandle, CfgMakeArray, CfgMakeObject, CfgMapArrayValues, CfgMapRecordValues, CfgMapResourceFields, CfgNot, CfgOnDemandBlobContent, CfgOr, CfgProgressLog, CfgProgressLogWithInfo, CfgRenderingMode, CfgResourceValueAsJson, Checked, ColumnCollection, ColumnCollectionBuilder, ColumnData, ColumnDataStatus, ColumnMatch, ColumnMatcher, ColumnOrderRule, ColumnProvider, ColumnSelector, ColumnSnapshot, ColumnSnapshotProvider, ColumnSource, ColumnVisibilityRule, ColumnsDisplayOptions, ColumnsSelectorConfig, CommonFieldTraverseOps, CommonTraversalOps, ConfAction, ConfigRenderLambda, ConfigRenderLambdaFlags, ConfigResult, CurrentSdkInfo, DataModel, DataModelBuilder, DeriveHref, DeriveLabelsOptions, Entry, ExpandByPartitionOpts, ExpandByPartitionResult, ExpressionSpec, ExtractAction, ExtractFunctionHandleReturn, ExtractFutureRefType, FieldTraversalStep, FieldType, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilterSpecUi, FilterUi, FilterUiOfType, FilterUiType, FindColumnsOptions, FormField, FutureRef, GetFieldStep, InferArgsType, InferBlockState, InferBlockStatePatch, InferDataType, InferFactoryData, InferFactoryModelServices, InferFactoryOutputs, InferFactoryParams, InferFactoryUiServices, InferHrefType, InferOutputType, InferOutputsFromConfigs, InferOutputsFromLambdas, InferOutputsType, InferPluginData, InferPluginHandle, InferPluginHandles, InferPluginNames, InferRenderFunctionReturn, InferUiState, InferVarTypeSafe, IsNA, It, internal_d_exports as JsRenderInternal, DeriveLabelsOptions as LabelDerivationOps, Log10, MainOutputs, MatchQualifications, MatchVariant, MatchingMode, type MigrateBlockStorageConfig, type MigrationFailure, type MigrationResult, type MigrationSuccess, ModelServices, type MutateStoragePayload, NotFilter, NumericalComparisonFilter, OptionalPlResourceEntry, OrFilter, OutputColumnProvider, OutputColumnProviderOpts, OutputError, PColumnCollection, PColumnDataUniversal, PColumnEntryUniversal, PColumnEntryWithLabel, PColumnKeyList, PColumnLazyUniversal, PColumnLazyWithLabel, PColumnPredicate, PColumnResourceMapData, PColumnResourceMapEntry, PFrameImpl, POCExtractAction, PTableKey, PTableParamsV2, type ParamsInput, Patch, PatternFilter, PatternPredicate, PatternPredicateContainSubsequence, PatternPredicateEquals, PlDataTableFilterMeta, PlDataTableFilterSpecLeaf, PlDataTableFilters, PlDataTableFiltersWithMeta, PlDataTableGridStateCore, PlDataTableModel, PlDataTableSheet, PlDataTableSheetState, PlDataTableStateV2, PlDataTableStateV2CacheEntry, PlDataTableStateV2Normalized, PlMultiSequenceAlignmentColorSchemeOption, PlMultiSequenceAlignmentModel, PlMultiSequenceAlignmentSettings, PlMultiSequenceAlignmentWidget, PlResourceEntry, PlSelectionModel, PlTableColumnId, PlTableColumnIdJson, Platforma, PlatformaApiVersion, PlatformaExtended, PlatformaFactory, PlatformaSDKVersion, PlatformaV1, PlatformaV2, PlatformaV3, type PluginConfig, type PluginData, PluginDataModel, PluginDataModelBuilder, type PluginDataModelVersions, type PluginFactory, PluginFactoryLike, PluginHandle, PluginInstance, PluginModel, type PluginName, type PluginOutputs, type PluginParams, type PluginRecord, type PluginRegistry, PluginRenderCtx, PrimitiveOrConfig, PrimitiveToCfg, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, RelaxedAxisSelector, RelaxedColumnSelector, RelaxedRecord, RelaxedStringMatchers, RenderCtx, RenderCtxBase, RenderCtxLegacy, RenderFunction, RenderFunctionLegacy, ResolveCfgType, ResolveModelServices, ResolveUiServices, ResourceTraversalOps, ResourceType, ResultPool, ResultPoolColumnSnapshotProvider, SdkInfo, ServiceProxy, SimplifiedPColumnSpec, SimplifiedUniversalPColumnEntry, SnapshotColumnProvider, SortedCumulativeSum, Entry as SpecExtractorResult, SplitAxis, StagingOutputs, StdCtx, StdCtxArgsOnly, StringMatcher, TooltipEntry, Trace, TraceEntry, TransformedColumn, TreeNodeAccessor, TypeField, TypeFieldRecord, TypeForm, TypeToLiteral, TypedConfig, TypedConfigOrConfigLambda, TypedConfigOrString, UiServices, UiState, Unionize, UniversalColumnOption, UnwrapFutureRef, ValueRank, type VersionedData, allPColumnsReady, and, blockServiceNames, buildServices, collectCtxColumnSnapshotProviders, compileAnnotationScript, compileFilter, compileFilters, convertColumnSelectorToMultiColumnSelector, convertFilterSpecsToExpressionSpecs, convertFilterUiToExpressionImpl, convertFilterUiToExpressions, convertOrParsePColumnData, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector, createBlockStorage, createColumnSnapshot, createDefaultPTableParams, createPFrameForGraphs, createPlDataTable, createPlDataTableOptionsV3, createPlDataTableSheet, createPlDataTableStateV2, createPlDataTableV2, createPlDataTableV3, createPlSelectionModel, createReadyColumnData, createRowSelectionColumn, createServiceProxy, deriveDataFromStorage, deriveDistinctLabels, deriveDistinctTooltips, deriveLabels, discoverTableColumnSnaphots, distillFilterSpec, downgradeCfgOrLambda, enrichCompatible, expandByPartition, extractArchiveAndGetURL, extractConfig, filterDataInfoEntries, filterSpecToSpecQueryExpr, flatten, fromPlOption, fromPlRef, getAllRelatedColumns, getAvailableWithLinkersAxes, getAxisUniqueValues, getBlobContent, getBlobContentAsJson, getBlobContentAsString, getColumnOrAxisValueLabelsId, getColumnSpecById, getColumnUniqueValues, getColumnsFull, getDownloadedBlobContent, getEffectiveVisibility, getEnvironmentValue, getFromCfg, getImmediate, getImportProgress, getJsonField, getLastLogs, getLogHandle, getOnDemandBlobContent, getOrderPriority, getPartitionKeysList, getPlatformaApiVersion, getPluginData, getProgressLog, getProgressLogWithInfo, getRawPlatformaInstance, getRelatedColumns, getRequestColumnsFromSelectedSources, getResourceField, getResourceValueAsJson, getService, getSingleColumnData, getStorageData, getUniquePartitionKeys, getUniqueSourceValuesWithLabels, ifDef, isBlockStorage, isColumnHidden, isColumnOptional, isColumnSnapshotProvider, isConfigLambda, isEmpty, isHiddenFromGraphColumn, isHiddenFromUIColumn, isPColumnReady, isPluginOutputKey, isolate, makeArray, makeObject, mapArrayValues, mapRecordValues, mapResourceFields, migrateBlockStorage, normalizeBlockStorage, not, or, parsePColumnData, parseResourceMap, pluginOutputKey, pluginOutputPrefix, readOutput, registerFacadeCallbacks, toColumnSnapshotProvider, unreachable, updateStorageData, upgradePlDataTableStateV2, wrapOutputs };
76
+ export { ActAnd, ActExtractArchiveAndGetURL, ActFlatten, ActGetBlobContent, ActGetBlobContentAsJson, ActGetBlobContentAsString, ActGetDownloadedBlobContent, ActGetField, ActGetFromCtx, ActGetImmediate, ActGetLastLogs, ActGetLogHandle, ActGetOnDemandBlobContent, ActGetProgressLog, ActGetProgressLogWithInfo, ActGetResourceField, ActGetResourceValueAsJson, ActImportProgress, ActIsEmpty, ActIsolate, ActMakeArray, ActMakeObject, ActMapArrayValues, ActMapRecordValues, ActMapResourceFields, ActNot, ActOr, ActionResult, AnchorEntry, AnchoredBuildOptions, AnchoredColumnCollection, AnchoredFindColumnsOptions, AndFilter, AnnotationFilter, AnnotationMode, AnnotationScript, AnnotationScript2, AnnotationScriptUi, AnnotationSpec, AnnotationSpecUi, AnnotationStep, AnnotationStepUi, AnyForm, Args, ArrayColumnProvider, AxesVault, AxisLabelProvider, BLOCK_SERVICE_FLAGS, BLOCK_STORAGE_FACADE_VERSION, BlockApiV1, BlockApiV2, BlockConfig, BlockConfigV3, BlockConfigV4, BlockDefaultModelServices, BlockDefaultUiServices, BlockModel, BlockModelInfo, BlockModelV3, BlockRenderCtx, BlockServiceFlags, BlockStatePatch, type BlockStorage, BlockStorageFacade, BlockStorageFacadeCallbacks, BlockStorageFacadeHandles, type BlockStorageSchemaVersion, BuildDatasetOptions, BuildOptions, CancelSubscription, Cfg, CfgAnd, CfgBlobContent, CfgBlobContentAsJson, CfgBlobContentAsString, CfgDownloadedBlobContent, CfgExtractArchiveAndGetURL, CfgFlatten, CfgGetFromCtx, CfgGetJsonField, CfgGetResourceField, CfgImmediate, CfgImportProgress, CfgIsEmpty, CfgIsolate, CfgLastLogs, CfgLogHandle, CfgMakeArray, CfgMakeObject, CfgMapArrayValues, CfgMapRecordValues, CfgMapResourceFields, CfgNot, CfgOnDemandBlobContent, CfgOr, CfgProgressLog, CfgProgressLogWithInfo, CfgRenderingMode, CfgResourceValueAsJson, Checked, ColumnCollection, ColumnCollectionBuilder, ColumnData, ColumnDataStatus, ColumnMatch, ColumnMatcher, ColumnOrderRule, ColumnProvider, ColumnSelector, ColumnSnapshot, ColumnSnapshotProvider, ColumnSource, ColumnVisibilityRule, ColumnsDisplayOptions, ColumnsSelectorConfig, CommonFieldTraverseOps, CommonTraversalOps, ConfAction, ConfigRenderLambda, ConfigRenderLambdaFlags, ConfigResult, CurrentSdkInfo, DataModel, DataModelBuilder, DeriveHref, DeriveLabelsOptions, Entry, ExpandByPartitionOpts, ExpandByPartitionResult, ExpressionSpec, ExtractAction, ExtractFunctionHandleReturn, ExtractFutureRefType, FieldTraversalStep, FieldType, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilterSpecUi, FilterUi, FilterUiOfType, FilterUiType, FindColumnsOptions, FormField, FutureRef, GetFieldStep, InferArgsType, InferBlockState, InferBlockStatePatch, InferDataType, InferFactoryData, InferFactoryModelServices, InferFactoryOutputs, InferFactoryParams, InferFactoryUiServices, InferHrefType, InferOutputType, InferOutputsFromConfigs, InferOutputsFromLambdas, InferOutputsType, InferPluginData, InferPluginHandle, InferPluginHandles, InferPluginNames, InferRenderFunctionReturn, InferUiState, InferVarTypeSafe, IsNA, It, internal_d_exports as JsRenderInternal, DeriveLabelsOptions as LabelDerivationOps, Log10, MainOutputs, MatchQualifications, MatchVariant, MatchingMode, type MigrateBlockStorageConfig, type MigrationFailure, type MigrationResult, type MigrationSuccess, ModelServices, type MutateStoragePayload, NotFilter, NumericalComparisonFilter, OptionalPlResourceEntry, OrFilter, OutputColumnProvider, OutputColumnProviderOpts, OutputError, PColumnCollection, PColumnDataUniversal, PColumnEntryUniversal, PColumnEntryWithLabel, PColumnKeyList, PColumnLazyUniversal, PColumnLazyWithLabel, PColumnPredicate, PColumnResourceMapData, PColumnResourceMapEntry, PFrameImpl, POCExtractAction, PTableKey, PTableParamsV2, type ParamsInput, Patch, PatternFilter, PatternPredicate, PatternPredicateContainSubsequence, PatternPredicateEquals, PlDataTableFilterMeta, PlDataTableFilterSpecLeaf, PlDataTableFilters, PlDataTableFiltersWithMeta, PlDataTableGridStateCore, PlDataTableModel, PlDataTableSheet, PlDataTableSheetState, PlDataTableStateV2, PlDataTableStateV2CacheEntry, PlDataTableStateV2Normalized, PlMultiSequenceAlignmentColorSchemeOption, PlMultiSequenceAlignmentModel, PlMultiSequenceAlignmentSettings, PlMultiSequenceAlignmentWidget, PlResourceEntry, PlSelectionModel, PlTableColumnId, PlTableColumnIdJson, Platforma, PlatformaApiVersion, PlatformaExtended, PlatformaFactory, PlatformaSDKVersion, PlatformaV1, PlatformaV2, PlatformaV3, type PluginConfig, type PluginData, PluginDataModel, PluginDataModelBuilder, type PluginDataModelVersions, type PluginFactory, PluginFactoryLike, PluginHandle, PluginInstance, PluginModel, type PluginName, type PluginOutputs, type PluginParams, type PluginRecord, type PluginRegistry, PluginRenderCtx, PrimitiveOrConfig, PrimitiveToCfg, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, RelaxedAxisSelector, RelaxedColumnSelector, RelaxedRecord, RelaxedStringMatchers, RenderCtx, RenderCtxBase, RenderCtxLegacy, RenderFunction, RenderFunctionLegacy, ResolveCfgType, ResolveModelServices, ResolveUiServices, ResourceTraversalOps, ResourceType, ResultPool, ResultPoolColumnSnapshotProvider, SdkInfo, ServiceProxy, SimplifiedPColumnSpec, SimplifiedUniversalPColumnEntry, SnapshotColumnProvider, SortedCumulativeSum, Entry as SpecExtractorResult, SplitAxis, StagingOutputs, StdCtx, StdCtxArgsOnly, StringMatcher, TooltipEntry, Trace, TraceEntry, TransformedColumn, TreeNodeAccessor, TypeField, TypeFieldRecord, TypeForm, TypeToLiteral, TypedConfig, TypedConfigOrConfigLambda, TypedConfigOrString, UiServices, UiState, Unionize, UniversalColumnOption, UnwrapFutureRef, ValueRank, type VersionedData, allPColumnsReady, and, blockServiceNames, buildDatasetOptions, buildRefMap, buildServices, collectCtxColumnSnapshotProviders, compileAnnotationScript, compileFilter, compileFilters, convertColumnSelectorToMultiColumnSelector, convertFilterSpecsToExpressionSpecs, convertFilterUiToExpressionImpl, convertFilterUiToExpressions, convertOrParsePColumnData, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector, createBlockStorage, createColumnSnapshot, createDefaultPTableParams, createPFrameForGraphs, createPlDataTable, createPlDataTableOptionsV3, createPlDataTableSheet, createPlDataTableStateV2, createPlDataTableV2, createPlDataTableV3, createPlSelectionModel, createReadyColumnData, createRowSelectionColumn, createServiceProxy, deriveDataFromStorage, deriveDistinctLabels, deriveDistinctTooltips, deriveLabels, discoverTableColumnSnaphots, distillFilterSpec, downgradeCfgOrLambda, enrichCompatible, expandByPartition, extractArchiveAndGetURL, extractConfig, filterDataInfoEntries, filterMatchesToOptions, filterSpecToSpecQueryExpr, findFilterColumns, flatten, fromPlOption, fromPlRef, getAllRelatedColumns, getAvailableWithLinkersAxes, getAxisUniqueValues, getBlobContent, getBlobContentAsJson, getBlobContentAsString, getColumnOrAxisValueLabelsId, getColumnSpecById, getColumnUniqueValues, getColumnsFull, getDownloadedBlobContent, getEffectiveVisibility, getEnvironmentValue, getFromCfg, getImmediate, getImportProgress, getJsonField, getLastLogs, getLogHandle, getOnDemandBlobContent, getOrderPriority, getPartitionKeysList, getPlatformaApiVersion, getPluginData, getProgressLog, getProgressLogWithInfo, getRawPlatformaInstance, getRelatedColumns, getRequestColumnsFromSelectedSources, getResourceField, getResourceValueAsJson, getService, getSingleColumnData, getStorageData, getUniquePartitionKeys, getUniqueSourceValuesWithLabels, ifDef, isBlockStorage, isColumnHidden, isColumnOptional, isColumnSnapshotProvider, isConfigLambda, isEmpty, isHiddenFromGraphColumn, isHiddenFromUIColumn, isPColumnReady, isPluginOutputKey, isolate, makeArray, makeObject, mapArrayValues, mapRecordValues, mapResourceFields, migrateBlockStorage, normalizeBlockStorage, not, or, parsePColumnData, parseResourceMap, pluginOutputKey, pluginOutputPrefix, readOutput, registerFacadeCallbacks, toColumnSnapshotProvider, unreachable, updateStorageData, upgradePlDataTableStateV2, wrapOutputs };
package/dist/index.js CHANGED
@@ -30,6 +30,12 @@ import { enrichCompatible, getAvailableWithLinkersAxes } from "./pframe_utils/ax
30
30
  import { getAllRelatedColumns, getRelatedColumns } from "./pframe_utils/columns.js";
31
31
  import { createPFrameForGraphs, isHiddenFromGraphColumn, isHiddenFromUIColumn } from "./components/PFrameForGraphs.js";
32
32
  import { compileAnnotationScript, compileFilter, compileFilters, unreachable } from "./components/PlAnnotations/filters_ui.js";
33
+ import { buildRefMap, filterMatchesToOptions, findFilterColumns } from "./components/PlDatasetSelector/filter_discovery.js";
34
+ import { convertColumnSelectorToMultiColumnSelector, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector } from "./columns/column_selector.js";
35
+ import { ArrayColumnProvider, OutputColumnProvider, SnapshotColumnProvider, isColumnSnapshotProvider, toColumnSnapshotProvider } from "./columns/column_snapshot_provider.js";
36
+ import { ColumnCollectionBuilder } from "./columns/column_collection_builder.js";
37
+ import { ResultPoolColumnSnapshotProvider, collectCtxColumnSnapshotProviders } from "./columns/ctx_column_sources.js";
38
+ import { buildDatasetOptions } from "./components/PlDatasetSelector/build_dataset_options.js";
33
39
  import { filterSpecToSpecQueryExpr } from "./filters/converters/filterToQuery.js";
34
40
  import { convertFilterUiToExpressionImpl, convertFilterUiToExpressions } from "./filters/converters/filterUiToExpressionImpl.js";
35
41
  import { distillFilterSpec } from "./filters/distill.js";
@@ -37,10 +43,6 @@ import "./filters/index.js";
37
43
  import { createDefaultPTableParams, createPlDataTableStateV2, upgradePlDataTableStateV2 } from "./components/PlDataTable/state-migration.js";
38
44
  import { createPlDataTableSheet } from "./components/PlDataTable/createPlDataTableSheet.js";
39
45
  import { createColumnSnapshot, createReadyColumnData } from "./columns/column_snapshot.js";
40
- import { ArrayColumnProvider, OutputColumnProvider, SnapshotColumnProvider, isColumnSnapshotProvider, toColumnSnapshotProvider } from "./columns/column_snapshot_provider.js";
41
- import { convertColumnSelectorToMultiColumnSelector, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector } from "./columns/column_selector.js";
42
- import { ColumnCollectionBuilder } from "./columns/column_collection_builder.js";
43
- import { ResultPoolColumnSnapshotProvider, collectCtxColumnSnapshotProviders } from "./columns/ctx_column_sources.js";
44
46
  import { expandByPartition } from "./columns/expand_by_partition.js";
45
47
  import "./columns/index.js";
46
48
  import { deriveDistinctTooltips } from "./labels/derive_distinct_tooltips.js";
@@ -62,4 +64,4 @@ import { getAxisUniqueValues, getColumnOrAxisValueLabelsId, getColumnSpecById, g
62
64
  import { getEnvironmentValue } from "./env_value.js";
63
65
  export * from "@milaboratories/pl-model-common";
64
66
  export * from "@milaboratories/pl-error-like";
65
- export { Args, ArrayColumnProvider, BLOCK_SERVICE_FLAGS, BLOCK_STORAGE_FACADE_VERSION, BlockModel, BlockModelV3, BlockRenderCtx, BlockStorageFacadeCallbacks, BlockStorageFacadeHandles, ColumnCollectionBuilder, CurrentSdkInfo, DataModel, DataModelBuilder, FutureRef, It, internal_exports as JsRenderInternal, MainOutputs, OutputColumnProvider, OutputError, PColumnCollection, PFrameImpl, PlatformaSDKVersion, PluginDataModel, PluginDataModelBuilder, PluginInstance, PluginModel, PluginRenderCtx, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, RenderCtxBase, RenderCtxLegacy, ResultPool, ResultPoolColumnSnapshotProvider, SnapshotColumnProvider, StagingOutputs, TreeNodeAccessor, UiState, allPColumnsReady, and, blockServiceNames, buildServices, collectCtxColumnSnapshotProviders, compileAnnotationScript, compileFilter, compileFilters, convertColumnSelectorToMultiColumnSelector, convertFilterSpecsToExpressionSpecs, convertFilterUiToExpressionImpl, convertFilterUiToExpressions, convertOrParsePColumnData, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector, createBlockStorage, createColumnSnapshot, createDefaultPTableParams, createPFrameForGraphs, createPlDataTable, createPlDataTableSheet, createPlDataTableStateV2, createPlDataTableV2, createPlDataTableV3, createPlSelectionModel, createReadyColumnData, createRowSelectionColumn, createServiceProxy, deriveDataFromStorage, deriveDistinctLabels, deriveDistinctTooltips, deriveLabels, discoverTableColumnSnaphots, distillFilterSpec, downgradeCfgOrLambda, enrichCompatible, expandByPartition, extractArchiveAndGetURL, extractConfig, filterDataInfoEntries, filterSpecToSpecQueryExpr, flatten, fromPlOption, fromPlRef, getAllRelatedColumns, getAvailableWithLinkersAxes, getAxisUniqueValues, getBlobContent, getBlobContentAsJson, getBlobContentAsString, getColumnOrAxisValueLabelsId, getColumnSpecById, getColumnUniqueValues, getColumnsFull, getDownloadedBlobContent, getEffectiveVisibility, getEnvironmentValue, getFromCfg, getImmediate, getImportProgress, getJsonField, getLastLogs, getLogHandle, getOnDemandBlobContent, getOrderPriority, getPartitionKeysList, getPlatformaApiVersion, getPluginData, getProgressLog, getProgressLogWithInfo, getRawPlatformaInstance, getRelatedColumns, getRequestColumnsFromSelectedSources, getResourceField, getResourceValueAsJson, getService, getSingleColumnData, getStorageData, getUniquePartitionKeys, getUniqueSourceValuesWithLabels, ifDef, isBlockStorage, isColumnHidden, isColumnOptional, isColumnSnapshotProvider, isConfigLambda, isEmpty, isHiddenFromGraphColumn, isHiddenFromUIColumn, isPColumnReady, isPluginOutputKey, isolate, makeArray, makeObject, mapArrayValues, mapRecordValues, mapResourceFields, migrateBlockStorage, normalizeBlockStorage, not, or, parsePColumnData, parseResourceMap, pluginOutputKey, pluginOutputPrefix, readOutput, registerFacadeCallbacks, toColumnSnapshotProvider, unreachable, updateStorageData, upgradePlDataTableStateV2, wrapOutputs };
67
+ export { Args, ArrayColumnProvider, BLOCK_SERVICE_FLAGS, BLOCK_STORAGE_FACADE_VERSION, BlockModel, BlockModelV3, BlockRenderCtx, BlockStorageFacadeCallbacks, BlockStorageFacadeHandles, ColumnCollectionBuilder, CurrentSdkInfo, DataModel, DataModelBuilder, FutureRef, It, internal_exports as JsRenderInternal, MainOutputs, OutputColumnProvider, OutputError, PColumnCollection, PFrameImpl, PlatformaSDKVersion, PluginDataModel, PluginDataModelBuilder, PluginInstance, PluginModel, PluginRenderCtx, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, RenderCtxBase, RenderCtxLegacy, ResultPool, ResultPoolColumnSnapshotProvider, SnapshotColumnProvider, StagingOutputs, TreeNodeAccessor, UiState, allPColumnsReady, and, blockServiceNames, buildDatasetOptions, buildRefMap, buildServices, collectCtxColumnSnapshotProviders, compileAnnotationScript, compileFilter, compileFilters, convertColumnSelectorToMultiColumnSelector, convertFilterSpecsToExpressionSpecs, convertFilterUiToExpressionImpl, convertFilterUiToExpressions, convertOrParsePColumnData, convertRelaxedAxisSelectorToMultiAxisSelector, convertRelaxedColumnSelectorToMultiColumnSelector, createBlockStorage, createColumnSnapshot, createDefaultPTableParams, createPFrameForGraphs, createPlDataTable, createPlDataTableSheet, createPlDataTableStateV2, createPlDataTableV2, createPlDataTableV3, createPlSelectionModel, createReadyColumnData, createRowSelectionColumn, createServiceProxy, deriveDataFromStorage, deriveDistinctLabels, deriveDistinctTooltips, deriveLabels, discoverTableColumnSnaphots, distillFilterSpec, downgradeCfgOrLambda, enrichCompatible, expandByPartition, extractArchiveAndGetURL, extractConfig, filterDataInfoEntries, filterMatchesToOptions, filterSpecToSpecQueryExpr, findFilterColumns, flatten, fromPlOption, fromPlRef, getAllRelatedColumns, getAvailableWithLinkersAxes, getAxisUniqueValues, getBlobContent, getBlobContentAsJson, getBlobContentAsString, getColumnOrAxisValueLabelsId, getColumnSpecById, getColumnUniqueValues, getColumnsFull, getDownloadedBlobContent, getEffectiveVisibility, getEnvironmentValue, getFromCfg, getImmediate, getImportProgress, getJsonField, getLastLogs, getLogHandle, getOnDemandBlobContent, getOrderPriority, getPartitionKeysList, getPlatformaApiVersion, getPluginData, getProgressLog, getProgressLogWithInfo, getRawPlatformaInstance, getRelatedColumns, getRequestColumnsFromSelectedSources, getResourceField, getResourceValueAsJson, getService, getSingleColumnData, getStorageData, getUniquePartitionKeys, getUniqueSourceValuesWithLabels, ifDef, isBlockStorage, isColumnHidden, isColumnOptional, isColumnSnapshotProvider, isConfigLambda, isEmpty, isHiddenFromGraphColumn, isHiddenFromUIColumn, isPColumnReady, isPluginOutputKey, isolate, makeArray, makeObject, mapArrayValues, mapRecordValues, mapResourceFields, migrateBlockStorage, normalizeBlockStorage, not, or, parsePColumnData, parseResourceMap, pluginOutputKey, pluginOutputPrefix, readOutput, registerFacadeCallbacks, toColumnSnapshotProvider, unreachable, updateStorageData, upgradePlDataTableStateV2, wrapOutputs };
package/dist/package.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "1.66.2";
2
+ var version = "1.68.0";
3
3
  //#endregion
4
4
  Object.defineProperty(exports, "version", {
5
5
  enumerable: true,
package/dist/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "1.66.2";
2
+ var version = "1.68.0";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"platforma.d.ts","names":[],"sources":["../src/platforma.ts"],"mappings":"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"}
1
+ {"version":3,"file":"platforma.d.ts","names":[],"sources":["../src/platforma.ts"],"mappings":"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"}
@@ -8,7 +8,11 @@ let _milaboratories_pl_model_common = require("@milaboratories/pl-model-common")
8
8
  * Standalone module to avoid circular dependencies between block_model.ts
9
9
  * and service type resolution.
10
10
  */
11
- const BLOCK_SERVICE_FLAGS = { requiresPFrameSpec: true };
11
+ const BLOCK_SERVICE_FLAGS = {
12
+ requiresPFrameSpec: true,
13
+ requiresPFrame: true,
14
+ requiresDialog: true
15
+ };
12
16
  const blockServiceNames = (0, _milaboratories_pl_model_common.resolveRequiredServices)(BLOCK_SERVICE_FLAGS);
13
17
  //#endregion
14
18
  exports.BLOCK_SERVICE_FLAGS = BLOCK_SERVICE_FLAGS;
@@ -1 +1 @@
1
- {"version":3,"file":"block_services.cjs","names":[],"sources":["../../src/services/block_services.ts"],"sourcesContent":["import type { ServiceRequireFlags } from \"@milaboratories/pl-model-common\";\nimport { resolveRequiredServices } from \"@milaboratories/pl-model-common\";\n\n/**\n * Services required by all V3 blocks by default.\n * Edit this when a new service should be available to all blocks.\n *\n * Standalone module to avoid circular dependencies between block_model.ts\n * and service type resolution.\n */\nexport const BLOCK_SERVICE_FLAGS = {\n requiresPFrameSpec: true,\n} as const satisfies Partial<ServiceRequireFlags>;\n\nexport type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;\n\nexport const blockServiceNames = resolveRequiredServices(BLOCK_SERVICE_FLAGS);\n"],"mappings":";;;;;;;;;;AAUA,MAAa,sBAAsB,EACjC,oBAAoB,MACrB;AAID,MAAa,qBAAA,GAAA,gCAAA,yBAA4C,oBAAoB"}
1
+ {"version":3,"file":"block_services.cjs","names":[],"sources":["../../src/services/block_services.ts"],"sourcesContent":["import type { ServiceRequireFlags } from \"@milaboratories/pl-model-common\";\nimport { resolveRequiredServices } from \"@milaboratories/pl-model-common\";\n\n/**\n * Services required by all V3 blocks by default.\n * Edit this when a new service should be available to all blocks.\n *\n * Standalone module to avoid circular dependencies between block_model.ts\n * and service type resolution.\n */\nexport const BLOCK_SERVICE_FLAGS = {\n requiresPFrameSpec: true,\n requiresPFrame: true,\n requiresDialog: true,\n} as const satisfies Partial<ServiceRequireFlags>;\n\nexport type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;\n\nexport const blockServiceNames = resolveRequiredServices(BLOCK_SERVICE_FLAGS);\n"],"mappings":";;;;;;;;;;AAUA,MAAa,sBAAsB;CACjC,oBAAoB;CACpB,gBAAgB;CAChB,gBAAgB;CACjB;AAID,MAAa,qBAAA,GAAA,gCAAA,yBAA4C,oBAAoB"}
@@ -10,6 +10,8 @@ import * as _$_milaboratories_pl_model_common0 from "@milaboratories/pl-model-co
10
10
  */
11
11
  declare const BLOCK_SERVICE_FLAGS: {
12
12
  readonly requiresPFrameSpec: true;
13
+ readonly requiresPFrame: true;
14
+ readonly requiresDialog: true;
13
15
  };
14
16
  type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;
15
17
  declare const blockServiceNames: _$_milaboratories_pl_model_common0.ServiceName[];
@@ -1 +1 @@
1
- {"version":3,"file":"block_services.d.ts","names":[],"sources":["../../src/services/block_services.ts"],"mappings":";;;;;;AAUA;;;;cAAa,mBAAA;EAAA,SAEoC,kBAAA;AAAA;AAAA,KAErC,iBAAA,UAA2B,mBAAA;AAAA,cAE1B,iBAAA,EAAgE,kCAAA,CAA/C,WAAA"}
1
+ {"version":3,"file":"block_services.d.ts","names":[],"sources":["../../src/services/block_services.ts"],"mappings":";;;;;;AAUA;;;;cAAa,mBAAA;EAAA;;;;KAMD,iBAAA,UAA2B,mBAAA;AAAA,cAE1B,iBAAA,EAAgE,kCAAA,CAA/C,WAAA"}
@@ -7,7 +7,11 @@ import { resolveRequiredServices } from "@milaboratories/pl-model-common";
7
7
  * Standalone module to avoid circular dependencies between block_model.ts
8
8
  * and service type resolution.
9
9
  */
10
- const BLOCK_SERVICE_FLAGS = { requiresPFrameSpec: true };
10
+ const BLOCK_SERVICE_FLAGS = {
11
+ requiresPFrameSpec: true,
12
+ requiresPFrame: true,
13
+ requiresDialog: true
14
+ };
11
15
  const blockServiceNames = resolveRequiredServices(BLOCK_SERVICE_FLAGS);
12
16
  //#endregion
13
17
  export { BLOCK_SERVICE_FLAGS, blockServiceNames };
@@ -1 +1 @@
1
- {"version":3,"file":"block_services.js","names":[],"sources":["../../src/services/block_services.ts"],"sourcesContent":["import type { ServiceRequireFlags } from \"@milaboratories/pl-model-common\";\nimport { resolveRequiredServices } from \"@milaboratories/pl-model-common\";\n\n/**\n * Services required by all V3 blocks by default.\n * Edit this when a new service should be available to all blocks.\n *\n * Standalone module to avoid circular dependencies between block_model.ts\n * and service type resolution.\n */\nexport const BLOCK_SERVICE_FLAGS = {\n requiresPFrameSpec: true,\n} as const satisfies Partial<ServiceRequireFlags>;\n\nexport type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;\n\nexport const blockServiceNames = resolveRequiredServices(BLOCK_SERVICE_FLAGS);\n"],"mappings":";;;;;;;;;AAUA,MAAa,sBAAsB,EACjC,oBAAoB,MACrB;AAID,MAAa,oBAAoB,wBAAwB,oBAAoB"}
1
+ {"version":3,"file":"block_services.js","names":[],"sources":["../../src/services/block_services.ts"],"sourcesContent":["import type { ServiceRequireFlags } from \"@milaboratories/pl-model-common\";\nimport { resolveRequiredServices } from \"@milaboratories/pl-model-common\";\n\n/**\n * Services required by all V3 blocks by default.\n * Edit this when a new service should be available to all blocks.\n *\n * Standalone module to avoid circular dependencies between block_model.ts\n * and service type resolution.\n */\nexport const BLOCK_SERVICE_FLAGS = {\n requiresPFrameSpec: true,\n requiresPFrame: true,\n requiresDialog: true,\n} as const satisfies Partial<ServiceRequireFlags>;\n\nexport type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;\n\nexport const blockServiceNames = resolveRequiredServices(BLOCK_SERVICE_FLAGS);\n"],"mappings":";;;;;;;;;AAUA,MAAa,sBAAsB;CACjC,oBAAoB;CACpB,gBAAgB;CAChB,gBAAgB;CACjB;AAID,MAAa,oBAAoB,wBAAwB,oBAAoB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/model",
3
- "version": "1.66.2",
3
+ "version": "1.68.0",
4
4
  "description": "Platforma.bio SDK / Block Model",
5
5
  "files": [
6
6
  "./dist/**/*",
@@ -30,20 +30,20 @@
30
30
  "fast-json-patch": "^3.1.1",
31
31
  "utility-types": "^3.11.0",
32
32
  "zod": "~3.25.76",
33
- "@milaboratories/pl-error-like": "1.12.9",
34
33
  "@milaboratories/helpers": "1.14.1",
35
- "@milaboratories/pl-model-common": "1.34.1",
36
- "@milaboratories/pl-model-middle-layer": "1.18.3",
37
- "@milaboratories/ptabler-expression-js": "1.2.13"
34
+ "@milaboratories/pl-model-common": "1.36.0",
35
+ "@milaboratories/pl-model-middle-layer": "1.18.5",
36
+ "@milaboratories/pl-error-like": "1.12.9",
37
+ "@milaboratories/ptabler-expression-js": "1.2.15"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@vitest/coverage-istanbul": "^4.1.3",
41
41
  "fast-json-patch": "^3.1.1",
42
42
  "typescript": "~5.9.3",
43
43
  "vitest": "^4.1.3",
44
- "@milaboratories/pf-driver": "1.3.10",
45
44
  "@milaboratories/build-configs": "2.0.0",
46
- "@milaboratories/pf-spec-driver": "1.3.2",
45
+ "@milaboratories/pf-spec-driver": "1.3.4",
46
+ "@milaboratories/pf-driver": "1.4.0",
47
47
  "@milaboratories/ts-builder": "1.3.2",
48
48
  "@milaboratories/ts-configs": "1.2.3"
49
49
  },
@@ -24,7 +24,8 @@ export function wrapOutputs<Outputs extends BlockOutputsBase>(
24
24
  outputs: Outputs,
25
25
  ): SimpleOutputs<Outputs> {
26
26
  return new Proxy(outputs, {
27
- get(target, key: string) {
27
+ get(target, key, receiver) {
28
+ if (typeof key === "symbol" || !(key in target)) return Reflect.get(target, key, receiver);
28
29
  return readOutput(target[key]);
29
30
  },
30
31
  }) as SimpleOutputs<Outputs>;
@@ -308,6 +308,7 @@ function annotateColumnGroups(params: {
308
308
  const linkedAnnotated = [
309
309
  withLabelAnnotations.bind(null, derivedLabels),
310
310
  withInfoAnnotations.bind(null, derivedTooltips),
311
+ withHidenAxesAnnotations.bind(null),
311
312
  withTableVisualAnnotations.bind(null, visibilityByColId, orderByColId),
312
313
  (cols: TableColumnSnapshot[]) =>
313
314
  cols.map((lc) => ({ ...lc, linkerPath: annotateLinkerPath(derivedLabels, lc.linkerPath) })),
@@ -0,0 +1,56 @@
1
+ import type {
2
+ DatasetOption,
3
+ Option,
4
+ PColumnSelector,
5
+ PObjectSpec,
6
+ } from "@milaboratories/pl-model-common";
7
+ import type { DeriveLabelsOptions } from "../../labels/derive_distinct_labels";
8
+ import type { RenderCtxBase } from "../../render";
9
+ import { ColumnCollectionBuilder } from "../../columns/column_collection_builder";
10
+ import { collectCtxColumnSnapshotProviders } from "../../columns/ctx_column_sources";
11
+ import { buildRefMap, filterMatchesToOptions, findFilterColumns } from "./filter_discovery";
12
+
13
+ export type BuildDatasetOptions = {
14
+ /** Which result pool columns qualify as datasets. Defaults to all. */
15
+ selector?: PColumnSelector | PColumnSelector[] | ((spec: PObjectSpec) => boolean);
16
+ /** Formatting options for filter labels. */
17
+ labelOptions?: DeriveLabelsOptions;
18
+ };
19
+
20
+ /**
21
+ * Usage:
22
+ * ```ts
23
+ * .output("datasetOptions", (ctx) => buildDatasetOptions(ctx))
24
+ * ```
25
+ */
26
+ export function buildDatasetOptions(
27
+ ctx: RenderCtxBase,
28
+ opts?: BuildDatasetOptions,
29
+ ): DatasetOption[] | undefined {
30
+ const predicate = opts?.selector ?? (() => true);
31
+ const options = ctx.resultPool.getOptions(predicate, { refsWithEnrichments: true });
32
+ if (options.length === 0) return [];
33
+
34
+ const columnSources = collectCtxColumnSnapshotProviders(ctx);
35
+ const refMap = buildRefMap(ctx.resultPool.getSpecs().entries);
36
+ const pframeSpec = ctx.getService("pframeSpec");
37
+
38
+ return options.map((o: Option): DatasetOption => {
39
+ const datasetSpec = ctx.resultPool.getPColumnSpecByRef(o.ref);
40
+ if (!datasetSpec) return o;
41
+
42
+ const builder = new ColumnCollectionBuilder(pframeSpec);
43
+ for (const src of columnSources) builder.addSource(src);
44
+ const collection = builder.build({ anchors: { main: datasetSpec } });
45
+ if (!collection) return o;
46
+
47
+ try {
48
+ const matches = findFilterColumns(collection);
49
+ if (matches.length === 0) return o;
50
+ const filters = filterMatchesToOptions(matches, refMap, opts?.labelOptions);
51
+ return { ...o, filters };
52
+ } finally {
53
+ collection.dispose();
54
+ }
55
+ });
56
+ }