@platforma-sdk/model 1.70.0 → 1.71.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 (29) hide show
  1. package/dist/columns/column_snapshot_provider.cjs +26 -2
  2. package/dist/columns/column_snapshot_provider.cjs.map +1 -1
  3. package/dist/columns/column_snapshot_provider.d.ts +2 -1
  4. package/dist/columns/column_snapshot_provider.d.ts.map +1 -1
  5. package/dist/columns/column_snapshot_provider.js +25 -2
  6. package/dist/columns/column_snapshot_provider.js.map +1 -1
  7. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs +40 -20
  8. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs.map +1 -1
  9. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts.map +1 -1
  10. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js +41 -21
  11. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js.map +1 -1
  12. package/dist/components/PlDataTable/createPlDataTable/utils.cjs +15 -0
  13. package/dist/components/PlDataTable/createPlDataTable/utils.cjs.map +1 -1
  14. package/dist/components/PlDataTable/createPlDataTable/utils.js +15 -1
  15. package/dist/components/PlDataTable/createPlDataTable/utils.js.map +1 -1
  16. package/dist/package.cjs +1 -1
  17. package/dist/package.js +1 -1
  18. package/dist/render/api.cjs +3 -14
  19. package/dist/render/api.cjs.map +1 -1
  20. package/dist/render/api.d.ts.map +1 -1
  21. package/dist/render/api.js +4 -15
  22. package/dist/render/api.js.map +1 -1
  23. package/dist/render/index.cjs +1 -1
  24. package/dist/render/index.js +1 -1
  25. package/package.json +8 -8
  26. package/src/columns/column_snapshot_provider.ts +30 -14
  27. package/src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts +58 -43
  28. package/src/components/PlDataTable/createPlDataTable/utils.ts +25 -2
  29. package/src/render/api.ts +5 -17
package/src/render/api.ts CHANGED
@@ -29,10 +29,8 @@ import type {
29
29
  } from "@milaboratories/pl-model-common";
30
30
  import {
31
31
  AnchoredIdDeriver,
32
- collectSpecQueryColumns,
33
32
  ensurePColumn,
34
33
  parseJson,
35
- extractAllColumns,
36
34
  isDataInfo,
37
35
  isPColumn,
38
36
  isPColumnSpec,
@@ -46,6 +44,7 @@ import {
46
44
  readAnnotation,
47
45
  withEnrichments,
48
46
  legacyColumnSelectorsToPredicate,
47
+ extractAllColumns,
49
48
  } from "@milaboratories/pl-model-common";
50
49
  import canonicalize from "canonicalize";
51
50
  import type { Optional } from "utility-types";
@@ -70,9 +69,9 @@ import type { LabelDerivationOps } from "./util/label";
70
69
  import { deriveLabels } from "./util/label";
71
70
  import type { APColumnSelectorWithSplit } from "./util/split_selectors";
72
71
  import { patchInSetFilters } from "./util/pframe_upgraders";
73
- import { allPColumnsReady } from "./util/pcolumn_data";
74
72
  import type { PColumnDataUniversal } from "./internal";
75
73
  import { getService } from "../services";
74
+ import { allPColumnsReady } from "./util";
76
75
 
77
76
  /**
78
77
  * Helper function to match domain objects
@@ -97,7 +96,7 @@ export type UniversalColumnOption = { label: string; value: SUniversalPColumnId
97
96
  * @returns Transformed data compatible with platform API
98
97
  */
99
98
  function transformPColumnData(
100
- data: PColumn<PColumnDataUniversal> | PColumnLazy<PColumnDataUniversal>,
99
+ data: PColumn<undefined | PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>,
101
100
  ): PColumn<PColumnValues | AccessorHandle | DataInfo<AccessorHandle>> {
102
101
  return mapPObjectData(data, (d) => {
103
102
  if (d instanceof TreeNodeAccessor) {
@@ -105,7 +104,7 @@ function transformPColumnData(
105
104
  } else if (isDataInfo(d)) {
106
105
  return mapDataInfo(d, (accessor) => accessor.handle);
107
106
  } else {
108
- return d;
107
+ return d ?? [];
109
108
  }
110
109
  });
111
110
  }
@@ -663,8 +662,6 @@ export abstract class RenderCtxBase<Args = unknown, Data = unknown> {
663
662
  PColumn<undefined | PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>
664
663
  >,
665
664
  ): PFrameHandle | undefined {
666
- if (!allPColumnsReady(def)) return undefined;
667
- this.verifyInlineAndExplicitColumnsSupport(def);
668
665
  return this.ctx.createPFrame(def.map((c) => transformPColumnData(c)));
669
666
  }
670
667
 
@@ -709,16 +706,7 @@ export abstract class RenderCtxBase<Args = unknown, Data = unknown> {
709
706
  public createPTableV2(
710
707
  def: PTableDefV2<PColumn<undefined | PColumnDataUniversal>>,
711
708
  ): PTableHandle | undefined {
712
- const columns = collectSpecQueryColumns(def.query);
713
- if (!allPColumnsReady(columns)) return undefined;
714
- this.verifyInlineAndExplicitColumnsSupport(columns);
715
- return this.ctx.createPTableV2(
716
- mapPTableDefV2(def, (po) => {
717
- if (po.data === undefined)
718
- throw new Error("unreachable: column data undefined after readiness check");
719
- return transformPColumnData({ id: po.id, spec: po.spec, data: po.data });
720
- }),
721
- );
709
+ return this.ctx.createPTableV2(mapPTableDefV2(def, (po) => transformPColumnData(po)));
722
710
  }
723
711
 
724
712
  /** @deprecated scheduled for removal from SDK */