@platforma-sdk/model 1.37.14 → 1.38.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.
@@ -166,6 +166,7 @@ export declare class RenderCtx<Args, UiState> {
166
166
  */
167
167
  findLabels(axis: AxisId): Record<string | number, string> | undefined;
168
168
  private verifyInlineAndExplicitColumnsSupport;
169
+ private patchPTableDef;
169
170
  createPFrame(def: PFrameDef<PColumnDataUniversal>): PFrameHandle;
170
171
  createPTable(def: PTableDef<PColumn<PColumnDataUniversal>>): PTableHandle;
171
172
  createPTable(def: {
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/render/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/render/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,EACP,eAAe,EACf,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,EACZ,OAAO,EAEP,WAAW,EACX,cAAc,EACd,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EAalB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAS,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;AAiBjG,MAAM,MAAM,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAoBlF,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;CAC/D,GAAG,qBAAqB,CAAC;AAE1B,KAAK,cAAc,GAAG;IACpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC,GAAG,kBAAkB,CAAC;CAC1E,CAAC;AAEF,qBAAa,UAAW,YAAW,cAAc,EAAE,iBAAiB;IAClE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAE7D;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,EAAE;IAIrD,UAAU,CACf,mBAAmB,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,eAAe,GAAG,eAAe,EAAE,EAC3F,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,EAAE;IACX,uDAAuD;IAChD,UAAU,CACf,mBAAmB,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,eAAe,GAAG,eAAe,EAAE,EAC3F,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC,GAAG,kBAAkB,GACvE,MAAM,EAAE;IAsCJ,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,GAAG,iBAAiB,GAAG,SAAS;IAgB7H;;;;;;;OAOG;IACI,mBAAmB,CACxB,YAAY,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,EACrE,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,yBAAyB,GAAG,yBAAyB,EAAE,EAChH,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,EAAE,GAAG,SAAS;IAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,mBAAmB,CACjB,YAAY,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,EACrE,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,yBAAyB,GAAG,yBAAyB,EAAE,EAChH,IAAI,CAAC,EAAE,oBAAoB,GAC1B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAE,EAAE,GAAG,SAAS;IAiB9D;;OAEG;IACI,qBAAqB,IAAI,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAIpE,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAc7D;;OAEG;IACI,+BAA+B,IAAI,gBAAgB,CACxD,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAC/D;IAIM,iBAAiB,IAAI,gBAAgB,CAC1C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAC/D;IAiBD;;OAEG;IACI,sBAAsB,IAAI,gBAAgB,CAAC,WAAW,CAAC;IAIvD,QAAQ,IAAI,gBAAgB,CAAC,WAAW,CAAC;IAIhD;;;OAGG;IACI,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS;IAetE;;;;OAIG;IACI,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS;IAMzE;;;;OAIG;IACI,mBAAmB,CAAC,GAAG,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS;IAO/D;;;OAGG;IACI,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS;IAIxD;;;;OAIG;IACI,0BAA0B,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE;IA6CjF;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IA8B5E;;;;;;OAMG;IACI,aAAa,CAClB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,eAAe,GAAG,eAAe,EAAE,GAChF,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE;IA+B1C;;;OAGG;IACI,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAalH;AAED,iGAAiG;AACjG,qBAAa,SAAS,CAAC,IAAI,EAAE,OAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IAEzC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,SAAgB,OAAO,EAAE,OAAO,CAAC;;IASjC,OAAO,CAAC,gBAAgB,CAAC,CAAe;IAExC;;;SAGK;IACL,IAAW,UAAU,IAAI,IAAI,GAAG,SAAS,CAMxC;IAOD,OAAO,CAAC,gBAAgB;IAOxB,IAAW,MAAM,IAAI,gBAAgB,GAAG,SAAS,CAEhD;IAED,IAAW,OAAO,IAAI,gBAAgB,GAAG,SAAS,CAEjD;IAED,SAAgB,UAAU,aAAoB;IAE9C;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAI5E,OAAO,CAAC,qCAAqC;IAQ7C,OAAO,CAAC,cAAc;IAaf,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,oBAAoB,CAAC,GAAG,YAAY;IAQhE,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,YAAY;IACzE,YAAY,CAAC,GAAG,EAAE;QACvB,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAC/B,oBAAoB;QACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B,GAAG,YAAY;IA+BhB,iDAAiD;IAC1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAItC,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAI9C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGnC;AAED,MAAM,MAAM,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,CAC7E,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,KAC3B,GAAG,CAAC;AAET,MAAM,MAAM,eAAe,CAAC,CAAC,IAC3B,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,GACD,CAAC,SAAS,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GACtE,CAAC,GACD;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAAE,CAAC;AAEtD,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,WAAW,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAChG,eAAe,CAAC,CAAC,CAAC,GAClB,KAAK,CAAC"}
@@ -53,6 +53,7 @@ export declare const GlobalCfgRenderCtxFeatureFlags: {
53
53
  explicitColumnsSupport: true;
54
54
  inlineColumnsSupport: true;
55
55
  activeArgs: true;
56
+ pTablePartitionFiltersSupport: true;
56
57
  };
57
58
  export interface GlobalCfgRenderCtx extends GlobalCfgRenderCtxMethods {
58
59
  readonly args: string;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/render/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/render/internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,aAAa,EACb,SAAS,EACT,YAAY,EACZ,OAAO,EACP,WAAW,EACX,cAAc,EACd,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE3D,MAAM,WAAW,yBAAyB,CAAC,OAAO,GAAG,cAAc,EAAE,OAAO,GAAG,YAAY;IAKzF,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAM3D,iBAAiB,CACf,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,sBAAsB,EACrC,GAAG,KAAK,EAAE,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,GACxC,OAAO,GAAG,SAAS,CAAC;IAEvB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC;IAE/C,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAE1C,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3C,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAE5C,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAErC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAE/C,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE3C,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE5C,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE7C,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEtE,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnD,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAErD,qCAAqC;IACrC,sBAAsB,CACpB,MAAM,EAAE,OAAO,EACf,mBAAmB,EAAE,OAAO,EAC5B,MAAM,EAAE,MAAM,EACd,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAMhD,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAErE,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAErE,8BAA8B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAEzD,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAMvD,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;IAMzE,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAM5C,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtD,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAElE,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1E,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAMvC,+EAA+E;IAC/E,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAMvC,qBAAqB,IAAI,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5D,+BAA+B,IAAI,gBAAgB,CACjD,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CACtD,CAAC;IAEF,sBAAsB,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAExD,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAEzF,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAE9F,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,EAAE,CAAC;IAMtD,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,YAAY,CAAC;IAExF,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;IAMjG,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAAC;IAM/C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B;;;;;CAK1C,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB;IAInE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,8BAA8B,CAAC;CAC/D;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,mBAAmB,EAAE,YAAY,EAAE,CAAC;CACrC,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAE9D;AAiBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAI5D"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const PlatformaSDKVersion = "1.37.14";
1
+ export declare const PlatformaSDKVersion = "1.38.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/model",
3
- "version": "1.37.14",
3
+ "version": "1.38.0",
4
4
  "description": "Platforma.bio SDK / Block Model",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -21,18 +21,19 @@
21
21
  "utility-types": "^3.11.0",
22
22
  "canonicalize": "~2.1.0",
23
23
  "zod": "~3.23.8",
24
- "@milaboratories/pl-error-like": "^1.12.2",
25
- "@milaboratories/pl-model-common": "^1.15.8"
24
+ "@milaboratories/pl-model-common": "^1.15.9",
25
+ "@milaboratories/pl-error-like": "^1.12.2"
26
26
  },
27
27
  "devDependencies": {
28
- "typescript": "~5.5.4",
28
+ "typescript": "~5.6.3",
29
29
  "vite": "^6.3.5",
30
30
  "@types/jest": "^29.5.14",
31
31
  "jest": "^29.7.0",
32
32
  "@jest/globals": "^29.7.0",
33
33
  "ts-jest": "^29.2.6",
34
34
  "@milaboratories/build-configs": "1.0.4",
35
- "@platforma-sdk/eslint-config": "1.0.3"
35
+ "@platforma-sdk/eslint-config": "1.0.3",
36
+ "@milaboratories/helpers": "^1.6.17"
36
37
  },
37
38
  "scripts": {
38
39
  "type-check": "node ./scripts/save-package-version.cjs && tsc --noEmit --composite false",
@@ -248,7 +248,7 @@ export function createPFrameForGraphs<A, U>(
248
248
  }
249
249
 
250
250
  // all compatible with block columns but without label columns
251
- const compatibleWithoutLabels = (columns.getColumns((spec) => spec.axesSpec.some(axisSpec => {
251
+ const compatibleWithoutLabels = (columns.getColumns((spec) => spec.axesSpec.some((axisSpec) => {
252
252
  const axisId = getAxisId(axisSpec);
253
253
  for (const selectorAxisId of blockAxes.values()) {
254
254
  if (matchAxisId(selectorAxisId, axisId)) {
@@ -256,7 +256,7 @@ export function createPFrameForGraphs<A, U>(
256
256
  }
257
257
  }
258
258
  return false;
259
- }), {dontWaitAllData: true, overrideLabelAnnotation: false}) ?? []).filter((column) => !isLabelColumn(column.spec));
259
+ }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((column) => !isLabelColumn(column.spec));
260
260
 
261
261
  // extend axes set for label columns request
262
262
  for (const c of compatibleWithoutLabels) {
@@ -267,7 +267,7 @@ export function createPFrameForGraphs<A, U>(
267
267
  }
268
268
 
269
269
  // label columns must be compatible with full set of axes - block axes and axes from compatible columns from result pool
270
- const compatibleLabels = (columns.getColumns((spec) => spec.axesSpec.some(axisSpec => {
270
+ const compatibleLabels = (columns.getColumns((spec) => spec.axesSpec.some((axisSpec) => {
271
271
  const axisId = getAxisId(axisSpec);
272
272
  for (const selectorAxisId of allAxes.values()) {
273
273
  if (matchAxisId(selectorAxisId, axisId)) {
@@ -275,7 +275,7 @@ export function createPFrameForGraphs<A, U>(
275
275
  }
276
276
  }
277
277
  return false;
278
- }), {dontWaitAllData: true, overrideLabelAnnotation: false}) ?? []).filter((column) => isLabelColumn(column.spec));
278
+ }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((column) => isLabelColumn(column.spec));
279
279
 
280
280
  const compatible = [...compatibleWithoutLabels, ...compatibleLabels];
281
281
 
@@ -10,6 +10,7 @@ import type {
10
10
  PColumnValues,
11
11
  PObjectId,
12
12
  PTableColumnId,
13
+ PTableColumnIdAxis,
13
14
  PTableColumnIdColumn,
14
15
  PTableColumnSpec,
15
16
  PTableDef,
@@ -17,7 +18,6 @@ import type {
17
18
  PTableRecordFilter,
18
19
  PTableRecordSingleValueFilterV2,
19
20
  PTableSorting,
20
- PTableValue,
21
21
  } from '@milaboratories/pl-model-common';
22
22
  import {
23
23
  canonicalizeJson,
@@ -62,18 +62,6 @@ export type PlDataTableGridStateCore = {
62
62
  };
63
63
  };
64
64
 
65
- /** TODO: refactor to use sheets in the grid state */
66
- export type PlDataTableGridStateWithoutSheets = PlDataTableGridStateCore & {
67
- /** DataSource identifier for state management */
68
- sourceId?: string;
69
- };
70
-
71
- /** Data table state */
72
- export type PlDataTableGridState = PlDataTableGridStateWithoutSheets & {
73
- /** current sheet selections */
74
- sheets?: Record<CanonicalizedJson<AxisId>, string | number>;
75
- };
76
-
77
65
  export type PlDataTableSheet = {
78
66
  /** spec of the axis to use */
79
67
  axis: AxisSpec;
@@ -90,30 +78,35 @@ export type PlDataTableSheetState = {
90
78
  value: string | number;
91
79
  };
92
80
 
93
- /**
94
- * Params used to get p-table handle from the driver
95
- */
96
- export type PTableParams = {
97
- sorting?: PTableSorting[];
98
- filters?: PTableRecordFilter[];
99
- };
100
-
101
- /**
102
- * PlDataTable persisted state
103
- */
104
- export type PlDataTableState = {
105
- // internal ag-grid state
106
- gridState: PlDataTableGridState;
107
- // mapping of gridState onto the p-table data structures
108
- pTableParams?: PTableParams;
109
- };
110
-
111
81
  /**
112
82
  * PlDataTableV2 persisted state
113
83
  */
114
84
  export type PlDataTableStateV2 =
115
85
  // Old versions of the state
116
- | PlDataTableState
86
+ | {
87
+ // no version
88
+ gridState: PlDataTableGridStateCore & {
89
+ sourceId?: string;
90
+ sheets?: Record<CanonicalizedJson<AxisId>, string | number>;
91
+ };
92
+ pTableParams?: {
93
+ sorting?: PTableSorting[];
94
+ filters?: PTableRecordFilter[];
95
+ };
96
+ }
97
+ | {
98
+ version: 2;
99
+ stateCache: {
100
+ sourceId: string;
101
+ gridState: PlDataTableGridStateCore;
102
+ sheetsState: PlDataTableSheetState[];
103
+ }[];
104
+ pTableParams: {
105
+ hiddenColIds: PObjectId[] | null;
106
+ filters: PTableRecordFilter[];
107
+ sorting: PTableSorting[];
108
+ };
109
+ }
117
110
  // Normalized state
118
111
  | PlDataTableStateV2Normalized;
119
112
 
@@ -124,46 +117,84 @@ export type PlDataTableStateV2CacheEntry = {
124
117
  gridState: PlDataTableGridStateCore;
125
118
  /** Sheets state */
126
119
  sheetsState: PlDataTableSheetState[];
120
+ /** Filters state */
121
+ filtersState: PlDataTableFilterState[];
127
122
  };
128
123
 
129
- export type PTableParamsV2 = {
130
- sorting: PTableSorting[];
131
- filters: PTableRecordFilter[];
132
- hiddenColIds: PObjectId[] | null;
133
- };
124
+ export type PTableParamsV2 =
125
+ | {
126
+ sourceId: null;
127
+ hiddenColIds: null;
128
+ partitionFilters: [];
129
+ filters: [];
130
+ sorting: [];
131
+ }
132
+ | {
133
+ sourceId: string;
134
+ hiddenColIds: PObjectId[] | null;
135
+ partitionFilters: PTableRecordFilter[];
136
+ filters: PTableRecordFilter[];
137
+ sorting: PTableSorting[];
138
+ };
134
139
 
135
140
  export type PlDataTableStateV2Normalized = {
136
- // version for upgrades
137
- version: 2;
138
- // internal ag-grid states, LRU cache for 5 sourceId-s
141
+ /** Version for upgrades */
142
+ version: 3;
143
+ /** Internal states, LRU cache for 5 sourceId-s */
139
144
  stateCache: PlDataTableStateV2CacheEntry[];
140
- // mapping of gridState for current sourceId onto the p-table data structures
145
+ /** PTable params derived from the cache state for the current sourceId */
141
146
  pTableParams: PTableParamsV2;
142
147
  };
143
148
 
149
+ export function makeDefaultPTableParams(): PTableParamsV2 {
150
+ return {
151
+ sourceId: null,
152
+ hiddenColIds: null,
153
+ partitionFilters: [],
154
+ filters: [],
155
+ sorting: [],
156
+ };
157
+ }
158
+
144
159
  /** Create default PlDataTableStateV2 */
145
160
  export function createPlDataTableStateV2(): PlDataTableStateV2Normalized {
146
161
  return {
147
- version: 2,
162
+ version: 3,
148
163
  stateCache: [],
149
- pTableParams: {
150
- sorting: [],
151
- filters: [],
152
- hiddenColIds: null,
153
- },
164
+ pTableParams: makeDefaultPTableParams(),
154
165
  };
155
166
  }
156
167
 
157
168
  /** Upgrade PlDataTableStateV2 to the latest version */
158
169
  export function upgradePlDataTableStateV2(state: PlDataTableStateV2): PlDataTableStateV2Normalized {
159
- // v1 -> v2
170
+ // v1
160
171
  if (!('version' in state)) {
161
172
  // Non upgradeable as sourceId calculation algorithm has changed, resetting state to default
162
173
  return createPlDataTableStateV2();
163
174
  }
175
+ // v2 -> v3
176
+ if (state.version === 2) {
177
+ state = {
178
+ version: 3,
179
+ stateCache: state.stateCache.map((entry) => ({
180
+ ...entry,
181
+ filtersState: [],
182
+ })),
183
+ pTableParams: makeDefaultPTableParams(),
184
+ };
185
+ }
164
186
  return state;
165
187
  }
166
188
 
189
+ export type PlDataTableFilterState = {
190
+ id: PTableColumnId;
191
+ alphabetic: boolean;
192
+ filter: null | {
193
+ value: PlTableFilter;
194
+ disabled: boolean;
195
+ };
196
+ };
197
+
167
198
  /** PlTableFilters filter entry */
168
199
  export type PlTableFilterIsNotNA = {
169
200
  /** Predicate type */
@@ -347,33 +378,6 @@ export type PlTableFilter = PlTableFilterNumber | PlTableFilterString;
347
378
  /** All types of PlTableFilters filter entries */
348
379
  export type PlTableFilterType = PlTableFilter['type'];
349
380
 
350
- /** Internal grid column identifier */
351
- export type PlTableFilterColumnId = string;
352
-
353
- /** PlTableFiltersState entry */
354
- export type PlTableFiltersStateEntry = {
355
- /** Column identifier */
356
- columnId: PlTableFilterColumnId;
357
- /** Active filter */
358
- filter: PlTableFilter;
359
- /** Flag to temporarily disable filter */
360
- disabled: boolean;
361
- };
362
-
363
- /** PlTableFiltersModel state */
364
- export type PlTableFiltersState = PlTableFiltersStateEntry[];
365
-
366
- /** PlTableFilters model */
367
- export type PlTableFiltersModel = {
368
- /** Internal PlTableFilters component state, do not change! */
369
- state?: PlTableFiltersState;
370
- /** Internal PlTableFilters component state, do not change!
371
- * Defaults filters applied to the table */
372
- defaultsApplied?: boolean;
373
- /** Resulting filters which should be used in Join */
374
- filters?: PTableRecordFilter[];
375
- };
376
-
377
381
  export type CreatePlDataTableOps = {
378
382
  /** Filters for columns and non-partitioned axes */
379
383
  filters?: PTableRecordFilter[];
@@ -531,115 +535,52 @@ export function allColumnsComputed(
531
535
  });
532
536
  }
533
537
 
534
- function createPTableDef(
535
- columns: PColumn<PColumnDataUniversal>[],
536
- labelColumns: PColumn<PColumnDataUniversal>[],
537
- coreJoinType: 'inner' | 'full',
538
- filters: PTableRecordSingleValueFilterV2[],
539
- sorting: PTableSorting[],
540
- coreColumnPredicate?: ((spec: PColumnSpec) => boolean),
541
- ): PTableDef<PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>> {
542
- let coreColumns = columns;
543
- const secondaryColumns: typeof columns = [];
544
-
545
- if (coreColumnPredicate) {
538
+ function createPTableDef(params: {
539
+ columns: PColumn<PColumnDataUniversal>[];
540
+ labelColumns: PColumn<PColumnDataUniversal>[];
541
+ coreJoinType: 'inner' | 'full';
542
+ partitionFilters: PTableRecordSingleValueFilterV2[];
543
+ filters: PTableRecordSingleValueFilterV2[];
544
+ sorting: PTableSorting[];
545
+ coreColumnPredicate?: ((spec: PColumnSpec) => boolean);
546
+ }): PTableDef<PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>> {
547
+ let coreColumns = params.columns;
548
+ const secondaryColumns: typeof params.columns = [];
549
+
550
+ if (params.coreColumnPredicate) {
546
551
  coreColumns = [];
547
- for (const c of columns)
548
- if (coreColumnPredicate(c.spec)) coreColumns.push(c);
552
+ for (const c of params.columns)
553
+ if (params.coreColumnPredicate(c.spec)) coreColumns.push(c);
549
554
  else secondaryColumns.push(c);
550
555
  }
551
556
 
552
- secondaryColumns.push(...labelColumns);
557
+ secondaryColumns.push(...params.labelColumns);
553
558
 
554
559
  return {
555
560
  src: {
556
561
  type: 'outer',
557
562
  primary: {
558
- type: coreJoinType,
563
+ type: params.coreJoinType,
559
564
  entries: coreColumns.map((c) => ({ type: 'column', column: c })),
560
565
  },
561
566
  secondary: secondaryColumns.map((c) => ({ type: 'column', column: c })),
562
567
  },
563
- filters,
564
- sorting,
568
+ partitionFilters: params.partitionFilters,
569
+ filters: params.filters,
570
+ sorting: params.sorting,
565
571
  };
566
572
  }
567
573
 
568
- /**
569
- * Create p-table handle given ui table state
570
- *
571
- * @param ctx context
572
- * @param columns column list
573
- * @param tableState table ui state
574
- * @returns PlAgDataTable table source
575
- */
576
- export function createPlDataTable<A, U>(
577
- ctx: RenderCtx<A, U>,
578
- columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[],
579
- tableState: PlDataTableState | undefined
580
- ): PTableHandle | undefined;
581
- export function createPlDataTable<A, U>(
582
- ctx: RenderCtx<A, U>,
583
- columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[],
584
- tableState: PlDataTableState | undefined,
585
- ops: CreatePlDataTableOps
586
- ): PTableHandle | undefined;
587
- /** @deprecated use method with extended ops as the last argument */
588
- export function createPlDataTable<A, U>(
589
- ctx: RenderCtx<A, U>,
590
- columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[],
591
- tableState: PlDataTableState | undefined,
592
- filters: PTableRecordFilter[]
593
- ): PTableHandle | undefined;
594
- export function createPlDataTable<A, U>(
595
- ctx: RenderCtx<A, U>,
596
- columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[],
597
- tableState: PlDataTableState | undefined,
598
- ops?: PTableRecordFilter[] | CreatePlDataTableOps,
599
- ): PTableHandle | undefined {
600
- // ops migration for backward compatibility with previous deprecated API
601
- if (Array.isArray(ops)) {
602
- ops = { filters: ops };
603
- }
604
-
605
- const coreJoinType = ops?.coreJoinType ?? 'full';
606
- const filters: PTableRecordSingleValueFilterV2[]
607
- = uniqueBy(
608
- [...(ops?.filters ?? []), ...(tableState?.pTableParams?.filters ?? [])],
609
- (f) => canonicalizeJson<PTableColumnId>(f.column),
610
- );
611
- const sorting: PTableSorting[]
612
- = uniqueBy(
613
- [...(ops?.sorting ?? []), ...(tableState?.pTableParams?.sorting ?? [])],
614
- (s) => canonicalizeJson<PTableColumnId>(s.column),
615
- );
616
-
617
- const allLabelColumns = getAllLabelColumns(ctx.resultPool);
618
- if (!allLabelColumns) return undefined;
619
-
620
- const labelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);
621
-
622
- // if at least one column is not yet computed, we can't show the table
623
- if (!allColumnsComputed([...columns, ...labelColumns])) return undefined;
624
-
625
- return ctx.createPTable(
626
- createPTableDef(columns, labelColumns, coreJoinType, filters, sorting, ops?.coreColumnPredicate));
627
- }
628
-
629
574
  /** PlAgDataTable model */
630
575
  export type PlDataTableModel = {
576
+ /** DataSource identifier for state management */
577
+ sourceId: string | null;
631
578
  /** p-table including all columns, used to show the full specification of the table */
632
579
  fullTableHandle: PTableHandle;
633
580
  /** p-table including only visible columns, used to get the data */
634
581
  visibleTableHandle: PTableHandle;
635
582
  };
636
583
 
637
- /**
638
- * @deprecated Used only in PlAgDataTable v1 that is no longer maintained.
639
- * Please migrate to v2.
640
- */
641
- export type PTableRowKey = PTableValue[];
642
-
643
584
  /** Check if column should be omitted from the table */
644
585
  export function isColumnHidden(spec: { annotations?: Record<string, string> }): boolean {
645
586
  return spec.annotations?.['pl7.app/table/visibility'] === 'hidden';
@@ -673,26 +614,63 @@ export function createPlDataTableV2<A, U>(
673
614
  ops?: CreatePlDataTableOps,
674
615
  ): PlDataTableModel | undefined {
675
616
  if (inputColumns.length === 0) return undefined;
676
- const tableStateNormalized = upgradePlDataTableStateV2(tableState ?? createPlDataTableStateV2());
617
+ const columns = inputColumns.filter((c) => !isColumnHidden(c.spec));
618
+
619
+ const tableStateNormalized = upgradePlDataTableStateV2(tableState);
620
+
621
+ const allLabelColumns = getAllLabelColumns(ctx.resultPool);
622
+ if (!allLabelColumns) return undefined;
623
+
624
+ const fullLabelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);
625
+ const fullColumns = [...columns, ...fullLabelColumns];
626
+
627
+ const fullColumnsAxes = uniqueBy(
628
+ [...fullColumns.flatMap((c) => c.spec.axesSpec.map((a) => getAxisId(a)))],
629
+ (a) => canonicalizeJson<AxisId>(a),
630
+ );
631
+ const fullColumnsIds: PTableColumnId[] = [
632
+ ...fullColumnsAxes.map((a) => ({ type: 'axis', id: a } satisfies PTableColumnIdAxis)),
633
+ ...fullColumns.map((c) => ({ type: 'column', id: c.id } satisfies PTableColumnIdColumn)),
634
+ ];
635
+ const fullColumnsIdsSet = new Set(fullColumnsIds.map((c) => canonicalizeJson<PTableColumnId>(c)));
636
+ const isValidColumnId = (id: PTableColumnId): boolean => fullColumnsIdsSet.has(canonicalizeJson<PTableColumnId>(id));
677
637
 
678
638
  const coreJoinType = ops?.coreJoinType ?? 'full';
639
+ const partitionFilters: PTableRecordSingleValueFilterV2[]
640
+ = tableStateNormalized.pTableParams.partitionFilters
641
+ .filter((f) => {
642
+ const valid = isValidColumnId(f.column);
643
+ if (!valid) ctx.logWarn(`Partition filter ${JSON.stringify(f)} does not match provided columns, skipping`);
644
+ return valid;
645
+ });
679
646
  const filters: PTableRecordSingleValueFilterV2[]
680
647
  = uniqueBy(
681
648
  [...(ops?.filters ?? []), ...tableStateNormalized.pTableParams.filters],
682
649
  (f) => canonicalizeJson<PTableColumnId>(f.column),
683
- );
650
+ ).filter((f) => {
651
+ const valid = isValidColumnId(f.column);
652
+ if (!valid) ctx.logWarn(`Filter ${JSON.stringify(f)} does not match provided columns, skipping`);
653
+ return valid;
654
+ });
684
655
  const sorting: PTableSorting[]
685
656
  = uniqueBy(
686
657
  [...(ops?.sorting ?? []), ...tableStateNormalized.pTableParams.sorting],
687
658
  (s) => canonicalizeJson<PTableColumnId>(s.column),
688
- );
689
- const columns = inputColumns.filter((c) => !isColumnHidden(c.spec));
690
-
691
- const allLabelColumns = getAllLabelColumns(ctx.resultPool);
692
- if (!allLabelColumns) return undefined;
659
+ ).filter((s) => {
660
+ const valid = isValidColumnId(s.column);
661
+ if (!valid) ctx.logWarn(`Sorting ${JSON.stringify(s)} does not match provided columns, skipping`);
662
+ return valid;
663
+ });
693
664
 
694
- const fullLabelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);
695
- const fullDef = createPTableDef(columns, fullLabelColumns, coreJoinType, filters, sorting, ops?.coreColumnPredicate);
665
+ const fullDef = createPTableDef({
666
+ columns,
667
+ labelColumns: fullLabelColumns,
668
+ coreJoinType,
669
+ partitionFilters,
670
+ filters,
671
+ sorting,
672
+ coreColumnPredicate: ops?.coreColumnPredicate,
673
+ });
696
674
  const fullHandle = ctx.createPTable(fullDef);
697
675
 
698
676
  const hiddenColumns = new Set<PObjectId>(((): PObjectId[] => {
@@ -719,7 +697,7 @@ export function createPlDataTableV2<A, U>(
719
697
  }
720
698
 
721
699
  // Filters decrease the number of result rows, sorting changes the order of result rows
722
- [...filters.map((f) => f.column), ...sorting.map((s) => s.column)]
700
+ [...partitionFilters.map((f) => f.column), ...filters.map((f) => f.column), ...sorting.map((s) => s.column)]
723
701
  .filter((c): c is PTableColumnIdColumn => c.type === 'column')
724
702
  .forEach((c) => hiddenColumns.delete(c.id));
725
703
 
@@ -729,10 +707,19 @@ export function createPlDataTableV2<A, U>(
729
707
  // if at least one column is not yet computed, we can't show the table
730
708
  if (!allColumnsComputed([...visibleColumns, ...visibleLabelColumns])) return undefined;
731
709
 
732
- const visibleDef = createPTableDef(visibleColumns, visibleLabelColumns, coreJoinType, filters, sorting, ops?.coreColumnPredicate);
710
+ const visibleDef = createPTableDef({
711
+ columns: visibleColumns,
712
+ labelColumns: visibleLabelColumns,
713
+ coreJoinType,
714
+ partitionFilters,
715
+ filters,
716
+ sorting,
717
+ coreColumnPredicate: ops?.coreColumnPredicate,
718
+ });
733
719
  const visibleHandle = ctx.createPTable(visibleDef);
734
720
 
735
721
  return {
722
+ sourceId: tableStateNormalized.pTableParams.sourceId,
736
723
  fullTableHandle: fullHandle,
737
724
  visibleTableHandle: visibleHandle,
738
725
  } satisfies PlDataTableModel;
package/src/render/api.ts CHANGED
@@ -575,6 +575,18 @@ export class RenderCtx<Args, UiState> {
575
575
  // Removed redundant explicitColumns check
576
576
  }
577
577
 
578
+ private patchPTableDef(def: PTableDef<PColumn<PColumnDataUniversal>>): PTableDef<PColumn<PColumnDataUniversal>> {
579
+ if (!this.ctx.featureFlags?.pTablePartitionFiltersSupport) {
580
+ // For old desktop move all partition filters to filters field as it doesn't read partitionFilters field
581
+ return {
582
+ ...def,
583
+ partitionFilters: [],
584
+ filters: [...def.partitionFilters, ...def.filters],
585
+ };
586
+ }
587
+ return def;
588
+ }
589
+
578
590
  // TODO remove all non-PColumn fields
579
591
  public createPFrame(def: PFrameDef<PColumnDataUniversal>): PFrameHandle {
580
592
  this.verifyInlineAndExplicitColumnsSupport(def);
@@ -603,16 +615,17 @@ export class RenderCtx<Args, UiState> {
603
615
  ): PTableHandle {
604
616
  let rawDef: PTableDef<PColumn<PColumnDataUniversal>>;
605
617
  if ('columns' in def) {
606
- rawDef = {
618
+ rawDef = this.patchPTableDef({
607
619
  src: {
608
620
  type: 'full',
609
621
  entries: def.columns.map((c) => ({ type: 'column', column: c })),
610
622
  },
611
- filters: def.filters ?? [],
623
+ partitionFilters: def.filters ?? [],
624
+ filters: [],
612
625
  sorting: def.sorting ?? [],
613
- };
626
+ });
614
627
  } else {
615
- rawDef = def;
628
+ rawDef = this.patchPTableDef(def);
616
629
  }
617
630
  this.verifyInlineAndExplicitColumnsSupport(extractAllColumns(rawDef.src));
618
631
  return this.ctx.createPTable(
@@ -167,6 +167,7 @@ export const GlobalCfgRenderCtxFeatureFlags = {
167
167
  explicitColumnsSupport: true as const,
168
168
  inlineColumnsSupport: true as const,
169
169
  activeArgs: true as const,
170
+ pTablePartitionFiltersSupport: true as const,
170
171
  };
171
172
 
172
173
  export interface GlobalCfgRenderCtx extends GlobalCfgRenderCtxMethods {