@platforma-sdk/model 1.42.22 → 1.42.25

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 (111) hide show
  1. package/dist/bconfig/index.d.ts +1 -0
  2. package/dist/bconfig/index.d.ts.map +1 -0
  3. package/dist/bconfig/lambdas.d.ts +2 -1
  4. package/dist/bconfig/lambdas.d.ts.map +1 -0
  5. package/dist/bconfig/normalization.d.ts +4 -3
  6. package/dist/bconfig/normalization.d.ts.map +1 -0
  7. package/dist/bconfig/types.d.ts +3 -2
  8. package/dist/bconfig/types.d.ts.map +1 -0
  9. package/dist/bconfig/util.d.ts +2 -1
  10. package/dist/bconfig/util.d.ts.map +1 -0
  11. package/dist/bconfig/v3.d.ts +4 -3
  12. package/dist/bconfig/v3.d.ts.map +1 -0
  13. package/dist/block_api_v1.d.ts +3 -2
  14. package/dist/block_api_v1.d.ts.map +1 -0
  15. package/dist/block_api_v2.d.ts +3 -2
  16. package/dist/block_api_v2.d.ts.map +1 -0
  17. package/dist/block_state_patch.d.ts +3 -2
  18. package/dist/block_state_patch.d.ts.map +1 -0
  19. package/dist/block_state_util.d.ts +3 -2
  20. package/dist/block_state_util.d.ts.map +1 -0
  21. package/dist/branding.d.ts +1 -0
  22. package/dist/branding.d.ts.map +1 -0
  23. package/dist/builder.d.ts +6 -5
  24. package/dist/builder.d.ts.map +1 -0
  25. package/dist/components/PFrameForGraphs.d.ts +3 -2
  26. package/dist/components/PFrameForGraphs.d.ts.map +1 -0
  27. package/dist/components/PlAnnotations/filter.d.ts +2 -1
  28. package/dist/components/PlAnnotations/filter.d.ts.map +1 -0
  29. package/dist/components/PlAnnotations/filters_ui.d.ts +4 -3
  30. package/dist/components/PlAnnotations/filters_ui.d.ts.map +1 -0
  31. package/dist/components/PlAnnotations/index.d.ts +1 -0
  32. package/dist/components/PlAnnotations/index.d.ts.map +1 -0
  33. package/dist/components/PlAnnotations/types.d.ts +2 -1
  34. package/dist/components/PlAnnotations/types.d.ts.map +1 -0
  35. package/dist/components/PlDataTable.cjs +4 -0
  36. package/dist/components/PlDataTable.cjs.map +1 -1
  37. package/dist/components/PlDataTable.d.ts +7 -4
  38. package/dist/components/PlDataTable.d.ts.map +1 -0
  39. package/dist/components/PlDataTable.js +4 -0
  40. package/dist/components/PlDataTable.js.map +1 -1
  41. package/dist/components/PlMultiSequenceAlignment.d.ts +3 -2
  42. package/dist/components/PlMultiSequenceAlignment.d.ts.map +1 -0
  43. package/dist/components/PlSelectionModel.d.ts +2 -1
  44. package/dist/components/PlSelectionModel.d.ts.map +1 -0
  45. package/dist/components/index.d.ts +1 -0
  46. package/dist/components/index.d.ts.map +1 -0
  47. package/dist/config/actions.d.ts +5 -4
  48. package/dist/config/actions.d.ts.map +1 -0
  49. package/dist/config/actions_kinds.d.ts +5 -3
  50. package/dist/config/actions_kinds.d.ts.map +1 -0
  51. package/dist/config/index.d.ts +1 -0
  52. package/dist/config/index.d.ts.map +1 -0
  53. package/dist/config/model.d.ts +2 -1
  54. package/dist/config/model.d.ts.map +1 -0
  55. package/dist/config/model_meta.d.ts +1 -0
  56. package/dist/config/model_meta.d.ts.map +1 -0
  57. package/dist/config/type_engine.d.ts +3 -2
  58. package/dist/config/type_engine.d.ts.map +1 -0
  59. package/dist/config/type_util.d.ts +2 -1
  60. package/dist/config/type_util.d.ts.map +1 -0
  61. package/dist/env_value.d.ts +1 -0
  62. package/dist/env_value.d.ts.map +1 -0
  63. package/dist/index.d.ts +1 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/internal.d.ts +4 -3
  66. package/dist/internal.d.ts.map +1 -0
  67. package/dist/package.json.cjs +1 -1
  68. package/dist/package.json.js +1 -1
  69. package/dist/pframe.d.ts +2 -1
  70. package/dist/pframe.d.ts.map +1 -0
  71. package/dist/platforma.d.ts +6 -5
  72. package/dist/platforma.d.ts.map +1 -0
  73. package/dist/raw_globals.d.ts +3 -2
  74. package/dist/raw_globals.d.ts.map +1 -0
  75. package/dist/ref_util.d.ts +12 -11
  76. package/dist/ref_util.d.ts.map +1 -0
  77. package/dist/render/accessor.d.ts +4 -3
  78. package/dist/render/accessor.d.ts.map +1 -0
  79. package/dist/render/api.d.ts +8 -6
  80. package/dist/render/api.d.ts.map +1 -0
  81. package/dist/render/future.d.ts +2 -1
  82. package/dist/render/future.d.ts.map +1 -0
  83. package/dist/render/index.d.ts +1 -0
  84. package/dist/render/index.d.ts.map +1 -0
  85. package/dist/render/internal.d.ts +5 -4
  86. package/dist/render/internal.d.ts.map +1 -0
  87. package/dist/render/traversal_ops.d.ts +1 -0
  88. package/dist/render/traversal_ops.d.ts.map +1 -0
  89. package/dist/render/util/axis_filtering.d.ts +3 -1
  90. package/dist/render/util/axis_filtering.d.ts.map +1 -0
  91. package/dist/render/util/column_collection.d.ts +5 -4
  92. package/dist/render/util/column_collection.d.ts.map +1 -0
  93. package/dist/render/util/index.d.ts +1 -0
  94. package/dist/render/util/index.d.ts.map +1 -0
  95. package/dist/render/util/label.d.ts +2 -1
  96. package/dist/render/util/label.d.ts.map +1 -0
  97. package/dist/render/util/pcolumn_data.d.ts +3 -1
  98. package/dist/render/util/pcolumn_data.d.ts.map +1 -0
  99. package/dist/render/util/pframe_upgraders.d.ts +2 -1
  100. package/dist/render/util/pframe_upgraders.d.ts.map +1 -0
  101. package/dist/render/util/split_selectors.d.ts +2 -1
  102. package/dist/render/util/split_selectors.d.ts.map +1 -0
  103. package/dist/sdk_info.d.ts +1 -0
  104. package/dist/sdk_info.d.ts.map +1 -0
  105. package/dist/unionize.d.ts +1 -0
  106. package/dist/unionize.d.ts.map +1 -0
  107. package/dist/version.d.ts +1 -0
  108. package/dist/version.d.ts.map +1 -0
  109. package/package.json +6 -6
  110. package/src/components/PlDataTable.ts +6 -2
  111. package/dist/global.d.ts +0 -14
@@ -3,3 +3,4 @@ export * from './normalization';
3
3
  export * from './util';
4
4
  export * from './v3';
5
5
  export * from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bconfig/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ConfigResult, PlResourceEntry, TypedConfig } from '../config';
1
+ import type { ConfigResult, PlResourceEntry, TypedConfig } from '../config';
2
2
  export type StdCtxArgsOnly<Args, UiState = undefined> = {
3
3
  readonly $blockId: string;
4
4
  readonly $args: Args;
@@ -30,3 +30,4 @@ export interface ConfigRenderLambda<_Return = unknown> extends ConfigRenderLambd
30
30
  handle: string;
31
31
  }
32
32
  export type ExtractFunctionHandleReturn<Func extends ConfigRenderLambda> = Func extends ConfigRenderLambda<infer Return> ? Return : never;
33
+ //# sourceMappingURL=lambdas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambdas.d.ts","sourceRoot":"","sources":["../../src/bconfig/lambdas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5E,MAAM,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,IAAI;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;IAC9E,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,IAAI,YAAY,CAC3F,GAAG,EACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CACtB,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;SAGK;IACL,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;SAGK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAE,SAAQ,uBAAuB;IACpF,kBAAkB;IAClB,cAAc,EAAE,IAAI,CAAC;IAErB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,2BAA2B,CAAC,IAAI,SAAS,kBAAkB,IACrE,IAAI,SAAS,kBAAkB,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC"}
@@ -1,6 +1,7 @@
1
- import { BlockConfigContainer } from '@milaboratories/pl-model-common';
2
- import { TypedConfigOrConfigLambda, TypedConfigOrString } from './types';
3
- import { BlockConfig } from './v3';
1
+ import { type BlockConfigContainer } from '@milaboratories/pl-model-common';
2
+ import type { TypedConfigOrConfigLambda, TypedConfigOrString } from './types';
3
+ import type { BlockConfig } from './v3';
4
4
  export declare function downgradeCfgOrLambda(data: TypedConfigOrConfigLambda): TypedConfigOrString;
5
5
  export declare function downgradeCfgOrLambda(data: TypedConfigOrConfigLambda | undefined): TypedConfigOrString | undefined;
6
6
  export declare function extractConfig(cfg: BlockConfigContainer): BlockConfig;
7
+ //# sourceMappingURL=normalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../src/bconfig/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAExC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,mBAAmB,CAAC;AAC3F,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,yBAAyB,GAAG,SAAS,GAC1C,mBAAmB,GAAG,SAAS,CAAC;AASnC,wBAAgB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,WAAW,CAEpE"}
@@ -1,6 +1,7 @@
1
- import { TypedConfig } from '../config';
2
- import { ConfigRenderLambda } from './lambdas';
1
+ import type { TypedConfig } from '../config';
2
+ import type { ConfigRenderLambda } from './lambdas';
3
3
  export declare function isConfigLambda(cfgOrFh: TypedConfigOrConfigLambda): cfgOrFh is ConfigRenderLambda;
4
4
  export type TypedConfigOrConfigLambda = TypedConfig | ConfigRenderLambda;
5
5
  /** @deprecated */
6
6
  export type TypedConfigOrString = TypedConfig | string;
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bconfig/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,yBAAyB,GACjC,OAAO,IAAI,kBAAkB,CAE/B;AAED,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAEzE,kBAAkB;AAClB,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,CAAC"}
@@ -1,6 +1,7 @@
1
- import { BlockSection } from '@milaboratories/pl-model-common';
1
+ import type { BlockSection } from '@milaboratories/pl-model-common';
2
2
  type OnlyString<S> = S extends string ? S : '';
3
3
  export type DeriveHref<S> = S extends readonly BlockSection[] ? OnlyString<Extract<S[number], {
4
4
  type: 'link';
5
5
  }>['href']> : never;
6
6
  export {};
7
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/bconfig/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;AAG/C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,YAAY,EAAE,GACzD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GACxD,KAAK,CAAC"}
@@ -1,5 +1,6 @@
1
- import { BlockConfigV3Generic } from '@milaboratories/pl-model-common';
2
- import { TypedConfigOrConfigLambda } from './types';
3
- import { ConfigRenderLambda } from './lambdas';
1
+ import type { BlockConfigV3Generic } from '@milaboratories/pl-model-common';
2
+ import type { TypedConfigOrConfigLambda } from './types';
3
+ import type { ConfigRenderLambda } from './lambdas';
4
4
  export type BlockConfigV3<Args = unknown, UiState = unknown, Outputs extends Record<string, TypedConfigOrConfigLambda> = Record<string, TypedConfigOrConfigLambda>> = BlockConfigV3Generic<Args, UiState, TypedConfigOrConfigLambda, ConfigRenderLambda, Outputs>;
5
5
  export type BlockConfig = BlockConfigV3;
6
+ //# sourceMappingURL=v3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3.d.ts","sourceRoot":"","sources":["../../src/bconfig/v3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,MAAM,aAAa,CACvB,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,OAAO,EACjB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,MAAM,CAChE,MAAM,EACN,yBAAyB,CAC1B,IACC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAEhG,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
- import { BlockOutputsBase, BlockState, NavigationState } from '@milaboratories/pl-model-common';
2
- import { BlockStatePatch } from './block_state_patch';
1
+ import type { BlockOutputsBase, BlockState, NavigationState } from '@milaboratories/pl-model-common';
2
+ import type { BlockStatePatch } from './block_state_patch';
3
3
  /** Returned by state subscription methods to be able to cancel the subscription. */
4
4
  export type CancelSubscription = () => void;
5
5
  /** Defines methods to read and write current block data. */
@@ -59,3 +59,4 @@ export interface BlockApiV1<Args = unknown, Outputs extends BlockOutputsBase = B
59
59
  * */
60
60
  setNavigationState(state: NavigationState<Href>): Promise<void>;
61
61
  }
62
+ //# sourceMappingURL=block_api_v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_api_v1.d.ts","sourceRoot":"","sources":["../src/block_api_v1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C,4DAA4D;AAC5D,MAAM,WAAW,UAAU,CACzB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE;IAExC;;;SAGK;IACL,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpE;;;;;;;;;;;;;;;;SAgBK;IACL,cAAc,CACZ,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC9E,kBAAkB,CAAC;IAEtB;;;;;;;SAOK;IACL,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;;SAOK;IACL,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;;;;;SAOK;IACL,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;SAEK;IACL,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
@@ -1,5 +1,5 @@
1
- import { BlockOutputsBase, BlockState, NavigationState, ValueWithUTag, ValueWithUTagAndAuthor, AuthorMarker, ResultOrError } from '@milaboratories/pl-model-common';
2
- import { Operation } from 'fast-json-patch';
1
+ import type { BlockOutputsBase, BlockState, NavigationState, ValueWithUTag, ValueWithUTagAndAuthor, AuthorMarker, ResultOrError } from '@milaboratories/pl-model-common';
2
+ import type { Operation } from 'fast-json-patch';
3
3
  /** Defines methods to read and write current block data. */
4
4
  export interface BlockApiV2<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`> {
5
5
  /**
@@ -47,3 +47,4 @@ export interface BlockApiV2<Args = unknown, Outputs extends BlockOutputsBase = B
47
47
  * */
48
48
  dispose(): Promise<ResultOrError<void>>;
49
49
  }
50
+ //# sourceMappingURL=block_api_v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_api_v2.d.ts","sourceRoot":"","sources":["../src/block_api_v2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,4DAA4D;AAC5D,MAAM,WAAW,UAAU,CACzB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE;IAExC;;;SAGK;IACL,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAElG;;SAEK;IACL,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtF;;;;;;;SAOK;IACL,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E;;;;;;;SAOK;IACL,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAErF;;;;;;;SAOK;IACL,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAExG;;SAEK;IACL,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/E;;SAEK;IACL,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;CACzC"}
@@ -1,4 +1,5 @@
1
- import { Unionize } from './unionize';
2
- import { BlockOutputsBase, BlockState } from '@milaboratories/pl-model-common';
1
+ import type { Unionize } from './unionize';
2
+ import type { BlockOutputsBase, BlockState } from '@milaboratories/pl-model-common';
3
3
  /** Patch for the BlockState, pushed by onStateUpdates method in SDK. */
4
4
  export type BlockStatePatch<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`> = Unionize<BlockState<Args, Outputs, UiState, Href>>;
5
+ //# sourceMappingURL=block_state_patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_state_patch.d.ts","sourceRoot":"","sources":["../src/block_state_patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAEpF,wEAAwE;AACxE,MAAM,MAAM,eAAe,CACzB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,IACtC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { BlockOutputsBase, ValueOrErrors } from '@milaboratories/pl-model-common';
2
- import { ErrorLike } from '@milaboratories/pl-error-like';
1
+ import type { BlockOutputsBase, ValueOrErrors } from '@milaboratories/pl-model-common';
2
+ import type { ErrorLike } from '@milaboratories/pl-error-like';
3
3
  export declare class OutputError extends Error {
4
4
  readonly errors: ErrorLike[];
5
5
  readonly moreErrors: boolean;
@@ -14,3 +14,4 @@ type SimpleOutputs<Outputs extends BlockOutputsBase> = {
14
14
  };
15
15
  export declare function wrapOutputs<Outputs extends BlockOutputsBase>(outputs: Outputs): SimpleOutputs<Outputs>;
16
16
  export {};
17
+ //# sourceMappingURL=block_state_util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_state_util.d.ts","sourceRoot":"","sources":["../src/block_state_util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,qBAAa,WAAY,SAAQ,KAAK;aAElB,MAAM,EAAE,SAAS,EAAE;aACnB,UAAU,EAAE,OAAO;gBADnB,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,EAAE,OAAO;CAItC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAG9D;AAED,KAAK,gBAAgB,CAAC,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5F,KAAK,aAAa,CAAC,OAAO,SAAS,gBAAgB,IAAI;KACpD,GAAG,IAAI,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CACvD,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,SAAS,gBAAgB,EAC1D,OAAO,EAAE,OAAO,GACf,aAAa,CAAC,OAAO,CAAC,CAMxB"}
@@ -4,3 +4,4 @@ type Brand<B> = {
4
4
  };
5
5
  export type Branded<T, B> = T & Brand<B>;
6
6
  export {};
7
+ //# sourceMappingURL=branding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC"}
package/dist/builder.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { BlockRenderingMode, BlockSection, ValueOrErrors, PlRef, BlockCodeKnownFeatureFlags } from '@milaboratories/pl-model-common';
2
- import { Checked, ConfigResult, TypedConfig } from './config';
3
- import { Platforma, PlatformaApiVersion, PlatformaV1, PlatformaV2 } from './platforma';
4
- import { InferRenderFunctionReturn, RenderFunction } from './render';
5
- import { TypedConfigOrConfigLambda, ConfigRenderLambda, StdCtxArgsOnly, DeriveHref, ResolveCfgType, ExtractFunctionHandleReturn, ConfigRenderLambdaFlags } from './bconfig';
1
+ import type { BlockRenderingMode, BlockSection, ValueOrErrors, PlRef, BlockCodeKnownFeatureFlags } from '@milaboratories/pl-model-common';
2
+ import type { Checked, ConfigResult, TypedConfig } from './config';
3
+ import type { Platforma, PlatformaApiVersion, PlatformaV1, PlatformaV2 } from './platforma';
4
+ import type { InferRenderFunctionReturn, RenderFunction } from './render';
5
+ import type { TypedConfigOrConfigLambda, ConfigRenderLambda, StdCtxArgsOnly, DeriveHref, ResolveCfgType, ExtractFunctionHandleReturn, ConfigRenderLambdaFlags } from './bconfig';
6
6
  type SectionsExpectedType = readonly BlockSection[];
7
7
  type SectionsCfgChecked<Cfg extends TypedConfig, Args, UiState> = Checked<Cfg, ConfigResult<Cfg, StdCtxArgsOnly<Args, UiState>> extends SectionsExpectedType ? true : false>;
8
8
  type InputsValidExpectedType = boolean;
@@ -101,3 +101,4 @@ type InferOutputsFromConfigs<Args, OutputsCfg extends Record<string, TypedConfig
101
101
  [Key in keyof OutputsCfg]: ValueOrErrors<InferOutputType<OutputsCfg[Key], Args, UiState>>;
102
102
  };
103
103
  export {};
104
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { AxisId, AxisSpecNormalized, CanonicalizedJson, PColumn, PColumnSpec, PFrameHandle } from '@milaboratories/pl-model-common';
2
- import { PColumnDataUniversal, RenderCtx } from '../render';
1
+ import type { AxisId, AxisSpecNormalized, CanonicalizedJson, PColumn, PColumnSpec, PFrameHandle } from '@milaboratories/pl-model-common';
2
+ import type { PColumnDataUniversal, RenderCtx } from '../render';
3
3
  /** Check if column is a linker column */
4
4
  export declare function isLinkerColumn(column: PColumnSpec): boolean;
5
5
  type AxesVault = Map<CanonicalizedJson<AxisId>, AxisSpecNormalized>;
@@ -22,3 +22,4 @@ export declare function allColumnsReady(columns: PColumn<PColumnDataUniversal>[]
22
22
  */
23
23
  export declare function createPFrameForGraphs<A, U>(ctx: RenderCtx<A, U>, blockColumns?: PColumn<PColumnDataUniversal>[]): PFrameHandle | undefined;
24
24
  export {};
25
+ //# sourceMappingURL=PFrameForGraphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PFrameForGraphs.d.ts","sourceRoot":"","sources":["../../src/components/PFrameForGraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAiBzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAkCjE,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE3D;AAED,KAAK,SAAS,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAEpE,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAC9C,SAAS,EAAE,SAAS,GACnB,SAAS,CAuBX;AACD,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,mCAM9F;AAwFD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,WAU7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,GAAG,OAAO,CAEjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,GAC7C,YAAY,GAAG,SAAS,CAsG1B"}
@@ -1,4 +1,4 @@
1
- import { SUniversalPColumnId } from '@milaboratories/pl-model-common';
1
+ import type { SUniversalPColumnId } from '@milaboratories/pl-model-common';
2
2
  /**
3
3
  * Represents an equals predicate for pattern filtering.
4
4
  * Checks if the pattern exactly matches the provided value.
@@ -210,3 +210,4 @@ export type AnnotationScript2<S extends AnnotationStep> = {
210
210
  /** Ordered list of annotation steps to apply */
211
211
  steps: S[];
212
212
  };
213
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/filter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { SUniversalPColumnId } from '@milaboratories/pl-model-common';
2
- import { AnnotationFilter, AnnotationMode, AnnotationScript, PatternPredicate } from './filter';
3
- import { SimplifiedPColumnSpec } from './types';
1
+ import type { SUniversalPColumnId } from '@milaboratories/pl-model-common';
2
+ import type { AnnotationFilter, AnnotationMode, AnnotationScript, PatternPredicate } from './filter';
3
+ import type { SimplifiedPColumnSpec } from './types';
4
4
  export declare function unreachable(x: never): never;
5
5
  declare function isNumericValueType(spec: SimplifiedPColumnSpec): boolean;
6
6
  declare function isStringValueType(spec: SimplifiedPColumnSpec): boolean;
@@ -820,3 +820,4 @@ export type AnnotationScriptUi = {
820
820
  };
821
821
  export declare function compileAnnotationScript(uiScript: AnnotationScriptUi): AnnotationScript;
822
822
  export {};
823
+ //# sourceMappingURL=filters_ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters_ui.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/filters_ui.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './filter';
2
2
  export * from './filters_ui';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,2 +1,3 @@
1
- import { PColumnSpec } from '@milaboratories/pl-model-common';
1
+ import type { PColumnSpec } from '@milaboratories/pl-model-common';
2
2
  export type SimplifiedPColumnSpec = Pick<PColumnSpec, 'valueType' | 'annotations'>;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC"}
@@ -26,6 +26,10 @@ function createPlDataTableStateV2() {
26
26
  }
27
27
  /** Upgrade PlDataTableStateV2 to the latest version */
28
28
  function upgradePlDataTableStateV2(state) {
29
+ // Block just added, had no state, model started earlier than the UI
30
+ if (!state) {
31
+ return createPlDataTableStateV2();
32
+ }
29
33
  // v1 -> v2
30
34
  if (!('version' in state)) {
31
35
  // Non upgradeable as sourceId calculation algorithm has changed, resetting state to default
@@ -1 +1 @@
1
- {"version":3,"file":"PlDataTable.cjs","sources":["../../src/components/PlDataTable.ts"],"sourcesContent":["import type {\n AxisId,\n AxisSpec,\n CanonicalizedJson,\n DataInfo,\n ListOptionBase,\n PColumn,\n PColumnIdAndSpec,\n PColumnSpec,\n PColumnValues,\n PObjectId,\n PTableColumnId,\n PTableColumnIdAxis,\n PTableColumnIdColumn,\n PTableColumnSpec,\n PTableDef,\n PTableHandle,\n PTableRecordFilter,\n PTableRecordSingleValueFilterV2,\n PTableSorting,\n} from '@milaboratories/pl-model-common';\nimport {\n Annotation,\n canonicalizeJson,\n getAxisId,\n getColumnIdAndSpec,\n matchAxisId,\n PColumnName,\n readAnnotation,\n} from '@milaboratories/pl-model-common';\nimport type {\n AxisLabelProvider,\n ColumnProvider,\n PColumnDataUniversal,\n RenderCtx,\n} from '../render';\nimport {\n PColumnCollection,\n TreeNodeAccessor,\n} from '../render';\nimport { isLinkerColumn } from './PFrameForGraphs';\n\nexport type PlTableColumnId = {\n /** Original column spec */\n source: PTableColumnSpec;\n /** Column spec with labeled axes replaced by label columns */\n labeled: PTableColumnSpec;\n};\n\nexport type PlTableColumnIdJson = CanonicalizedJson<PlTableColumnId>;\n\nexport type PlDataTableGridStateCore = {\n /** Includes column ordering */\n columnOrder?: {\n /** All colIds in order */\n orderedColIds: PlTableColumnIdJson[];\n };\n /** Includes current sort columns and direction */\n sort?: {\n /** Sorted columns and directions in order */\n sortModel: {\n /** Column Id to apply the sort to. */\n colId: PlTableColumnIdJson;\n /** Sort direction */\n sort: 'asc' | 'desc';\n }[];\n };\n /** Includes column visibility */\n columnVisibility?: {\n /** All colIds which were hidden */\n hiddenColIds: PlTableColumnIdJson[];\n };\n};\n\nexport type PlDataTableSheet = {\n /** spec of the axis to use */\n axis: AxisSpec;\n /** options to show in the filter dropdown */\n options: ListOptionBase<string | number>[];\n /** default (selected) value */\n defaultValue?: string | number;\n};\n\nexport type PlDataTableSheetState = {\n /** id of the axis */\n axisId: AxisId;\n /** selected value */\n value: string | number;\n};\n\n/**\n * PlDataTableV2 persisted state\n */\nexport type PlDataTableStateV2 =\n // Old versions of the state\n | {\n // no version\n gridState: {\n columnOrder?: {\n orderedColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sort?: {\n sortModel: {\n colId: CanonicalizedJson<PTableColumnSpec>;\n sort: 'asc' | 'desc';\n }[];\n };\n columnVisibility?: {\n hiddenColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sourceId?: string;\n sheets?: Record<CanonicalizedJson<AxisId>, string | number>;\n };\n pTableParams?: {\n sorting?: PTableSorting[];\n filters?: PTableRecordFilter[];\n };\n }\n | {\n version: 2;\n stateCache: {\n sourceId: string;\n gridState: {\n columnOrder?: {\n orderedColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sort?: {\n sortModel: {\n colId: CanonicalizedJson<PTableColumnSpec>;\n sort: 'asc' | 'desc';\n }[];\n };\n columnVisibility?: {\n hiddenColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n };\n sheetsState: PlDataTableSheetState[];\n }[];\n pTableParams: {\n hiddenColIds: PObjectId[] | null;\n filters: PTableRecordFilter[];\n sorting: PTableSorting[];\n };\n }\n | {\n version: 3;\n stateCache: {\n sourceId: string;\n gridState: {\n columnOrder?: {\n orderedColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sort?: {\n sortModel: {\n colId: CanonicalizedJson<PTableColumnSpec>;\n sort: 'asc' | 'desc';\n }[];\n };\n columnVisibility?: {\n hiddenColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n };\n sheetsState: PlDataTableSheetState[];\n filtersState: PlDataTableFilterState[];\n }[];\n pTableParams: PTableParamsV2;\n }\n // Normalized state\n | PlDataTableStateV2Normalized;\n\nexport type PlDataTableStateV2CacheEntry = {\n /** DataSource identifier for state management */\n sourceId: string;\n /** Internal ag-grid state */\n gridState: PlDataTableGridStateCore;\n /** Sheets state */\n sheetsState: PlDataTableSheetState[];\n /** Filters state */\n filtersState: PlDataTableFilterState[];\n};\n\nexport type PTableParamsV2 =\n | {\n sourceId: null;\n hiddenColIds: null;\n partitionFilters: [];\n filters: [];\n sorting: [];\n }\n | {\n sourceId: string;\n hiddenColIds: PObjectId[] | null;\n partitionFilters: PTableRecordFilter[];\n filters: PTableRecordFilter[];\n sorting: PTableSorting[];\n };\n\nexport type PlDataTableStateV2Normalized = {\n /** Version for upgrades */\n version: 4;\n /** Internal states, LRU cache for 5 sourceId-s */\n stateCache: PlDataTableStateV2CacheEntry[];\n /** PTable params derived from the cache state for the current sourceId */\n pTableParams: PTableParamsV2;\n};\n\nexport function makeDefaultPTableParams(): PTableParamsV2 {\n return {\n sourceId: null,\n hiddenColIds: null,\n partitionFilters: [],\n filters: [],\n sorting: [],\n };\n}\n\n/** Create default PlDataTableStateV2 */\nexport function createPlDataTableStateV2(): PlDataTableStateV2Normalized {\n return {\n version: 4,\n stateCache: [],\n pTableParams: makeDefaultPTableParams(),\n };\n}\n\n/** Upgrade PlDataTableStateV2 to the latest version */\nexport function upgradePlDataTableStateV2(state: PlDataTableStateV2): PlDataTableStateV2Normalized {\n // v1 -> v2\n if (!('version' in state)) {\n // Non upgradeable as sourceId calculation algorithm has changed, resetting state to default\n state = createPlDataTableStateV2();\n }\n // v2 -> v3\n if (state.version === 2) {\n state = {\n version: 3,\n stateCache: state.stateCache.map((entry) => ({\n ...entry,\n filtersState: [],\n })),\n pTableParams: makeDefaultPTableParams(),\n };\n }\n // v3 -> v4\n if (state.version === 3) {\n // Non upgradeable as column ids calculation algorithm has changed, resetting state to default\n state = createPlDataTableStateV2();\n }\n return state;\n}\n\nexport type PlDataTableFilterState = {\n id: PTableColumnId;\n alphabetic: boolean;\n filter: null | {\n value: PlTableFilter;\n disabled: boolean;\n };\n};\n\n/** PlTableFilters filter entry */\nexport type PlTableFilterIsNotNA = {\n /** Predicate type */\n type: 'isNotNA';\n};\n\n/** PlTableFilters filter entry */\nexport type PlTableFilterIsNA = {\n /** Predicate type */\n type: 'isNA';\n};\n\n/** PlTableFilters filter entries applicable to both string and number values */\nexport type PlTableFilterCommon = PlTableFilterIsNotNA | PlTableFilterIsNA;\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberEquals = {\n /** Predicate type */\n type: 'number_equals';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberNotEquals = {\n /** Predicate type */\n type: 'number_notEquals';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberGreaterThan = {\n /** Predicate type */\n type: 'number_greaterThan';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberGreaterThanOrEqualTo = {\n /** Predicate type */\n type: 'number_greaterThanOrEqualTo';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberLessThan = {\n /** Predicate type */\n type: 'number_lessThan';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberLessThanOrEqualTo = {\n /** Predicate type */\n type: 'number_lessThanOrEqualTo';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberBetween = {\n /** Predicate type */\n type: 'number_between';\n /** Referense value for the lower bound */\n lowerBound: number;\n /** Defines whether values equal to lower bound reference value should be matched */\n includeLowerBound: boolean;\n /** Referense value for the upper bound */\n upperBound: number;\n /** Defines whether values equal to upper bound reference value should be matched */\n includeUpperBound: boolean;\n};\n\n/** All PlTableFilters numeric filter entries */\nexport type PlTableFilterNumber =\n | PlTableFilterCommon\n | PlTableFilterNumberEquals\n | PlTableFilterNumberNotEquals\n | PlTableFilterNumberGreaterThan\n | PlTableFilterNumberGreaterThanOrEqualTo\n | PlTableFilterNumberLessThan\n | PlTableFilterNumberLessThanOrEqualTo\n | PlTableFilterNumberBetween;\n/** All types of PlTableFilters numeric filter entries */\nexport type PlTableFilterNumberType = PlTableFilterNumber['type'];\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringEquals = {\n /** Predicate type */\n type: 'string_equals';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringNotEquals = {\n /** Predicate type */\n type: 'string_notEquals';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringContains = {\n /** Predicate type */\n type: 'string_contains';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringDoesNotContain = {\n /** Predicate type */\n type: 'string_doesNotContain';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringMatches = {\n /** Predicate type */\n type: 'string_matches';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringDoesNotMatch = {\n /** Predicate type */\n type: 'string_doesNotMatch';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringContainsFuzzyMatch = {\n /** Predicate type */\n type: 'string_containsFuzzyMatch';\n /** Referense value */\n reference: string;\n /**\n * Maximum acceptable edit distance between reference value and matched substring\n * @see https://en.wikipedia.org/wiki/Edit_distance\n */\n maxEdits: number;\n /**\n * When {@link substitutionsOnly} is set to false\n * Levenshtein distance is used as edit distance (substitutions and indels)\n * @see https://en.wikipedia.org/wiki/Levenshtein_distance\n * When {@link substitutionsOnly} is set to true\n * Hamming distance is used as edit distance (substitutions only)\n * @see https://en.wikipedia.org/wiki/Hamming_distance\n */\n substitutionsOnly: boolean;\n /**\n * Single character in {@link reference} that will labelColumn any\n * single character in searched text.\n */\n wildcard?: string;\n};\n\n/** All PlTableFilters string filter entries */\nexport type PlTableFilterString =\n | PlTableFilterCommon\n | PlTableFilterStringEquals\n | PlTableFilterStringNotEquals\n | PlTableFilterStringContains\n | PlTableFilterStringDoesNotContain\n | PlTableFilterStringMatches\n | PlTableFilterStringDoesNotMatch\n | PlTableFilterStringContainsFuzzyMatch;\n/** All types of PlTableFilters string filter entries */\nexport type PlTableFilterStringType = PlTableFilterString['type'];\n\n/** All PlTableFilters filter entries */\nexport type PlTableFilter = PlTableFilterNumber | PlTableFilterString;\n/** All types of PlTableFilters filter entries */\nexport type PlTableFilterType = PlTableFilter['type'];\n\nexport type CreatePlDataTableOps = {\n /** Filters for columns and non-partitioned axes */\n filters?: PTableRecordFilter[];\n\n /** Sorting to columns hidden from user */\n sorting?: PTableSorting[];\n\n /**\n * Selects columns for which will be inner-joined to the table.\n *\n * Default behaviour: all columns are considered to be core\n */\n coreColumnPredicate?: (spec: PColumnSpec) => boolean;\n\n /**\n * Determines how core columns should be joined together:\n * inner - so user will only see records present in all core columns\n * full - so user will only see records present in any of the core columns\n *\n * All non-core columns will be left joined to the table produced by the core\n * columns, in other words records form the pool of non-core columns will only\n * make their way into the final table if core table contins corresponding key.\n *\n * Default: 'full'\n */\n coreJoinType?: 'inner' | 'full';\n};\n\n/** Check if column is a label column */\nexport function isLabelColumn(column: PColumnSpec) {\n return column.axesSpec.length === 1 && column.name === PColumnName.Label;\n}\n\n/** Get all label columns from the result pool */\nexport function getAllLabelColumns(\n resultPool: AxisLabelProvider & ColumnProvider,\n): PColumn<PColumnDataUniversal>[] | undefined {\n return new PColumnCollection()\n .addAxisLabelProvider(resultPool)\n .addColumnProvider(resultPool)\n .getColumns({\n name: PColumnName.Label,\n axes: [{}], // exactly one axis\n }, { dontWaitAllData: true });\n}\n\n/** Get label columns matching the provided columns from the result pool */\nexport function getMatchingLabelColumns(\n columns: PColumnIdAndSpec[],\n allLabelColumns: PColumn<PColumnDataUniversal>[],\n): PColumn<PColumnDataUniversal>[] {\n // split input columns into label and value columns\n const inputLabelColumns: typeof columns = [];\n const inputValueColumns: typeof columns = [];\n for (const column of columns) {\n if (isLabelColumn(column.spec)) {\n inputLabelColumns.push(column);\n } else {\n inputValueColumns.push(column);\n }\n }\n\n // collect distinct axes of value columns\n const unlabeledAxes: AxisId[] = [];\n for (const column of inputValueColumns) {\n for (const axis of column.spec.axesSpec) {\n const axisId = getAxisId(axis);\n if (!unlabeledAxes.some((id) => matchAxisId(id, axisId))) {\n unlabeledAxes.push(axisId);\n }\n }\n }\n\n // remove axes matched by input label columns\n for (const labelColumn of inputLabelColumns) {\n const labelAxisId = getAxisId(labelColumn.spec.axesSpec[0]);\n const labelMatch = unlabeledAxes.findIndex((axisId) => matchAxisId(axisId, labelAxisId));\n if (labelMatch !== -1) {\n unlabeledAxes.splice(labelMatch, 1);\n }\n }\n\n // warning: changing this id will break backward compatibility\n const colId = (id: PObjectId, domain?: Record<string, string>): PObjectId => {\n let wid = id.toString();\n if (domain) {\n for (const k in domain) {\n wid += k;\n wid += domain[k];\n }\n }\n return wid as PObjectId;\n };\n\n // search label columns for unmatched axes\n const labelColumns: typeof allLabelColumns = [];\n for (const labelColumn of allLabelColumns) {\n const labelAxis = labelColumn.spec.axesSpec[0];\n const labelAxisId = getAxisId(labelAxis);\n const labelMatch = unlabeledAxes.findIndex((axisId) => matchAxisId(axisId, labelAxisId));\n if (labelMatch !== -1) {\n const axisId = unlabeledAxes[labelMatch];\n const dataDomainLen = Object.keys(axisId.domain ?? {}).length;\n const labelDomainLen = Object.keys(labelAxis.domain ?? {}).length;\n if (dataDomainLen > labelDomainLen) {\n labelColumns.push({\n id: colId(labelColumn.id, axisId.domain),\n spec: {\n ...labelColumn.spec,\n axesSpec: [{ ...axisId, annotations: labelAxis.annotations }],\n },\n data: labelColumn.data,\n });\n } else {\n labelColumns.push(labelColumn);\n }\n unlabeledAxes.splice(labelMatch, 1);\n }\n }\n return labelColumns;\n}\n\n/** Check if all columns are computed */\nexport function allColumnsComputed(\n columns: PColumn<PColumnValues | TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[],\n): boolean {\n type Data = typeof columns[number]['data'];\n const isValues = (d: Data): d is PColumnValues => Array.isArray(d);\n const isAccessor = (d: Data): d is TreeNodeAccessor => d instanceof TreeNodeAccessor;\n const isDataInfo = (d: Data): d is DataInfo<TreeNodeAccessor> =>\n typeof d === 'object' && 'type' in d;\n\n return columns\n .map((c) => c.data)\n .every((d): boolean => {\n if (isValues(d)) {\n return true;\n } else if (isAccessor(d)) {\n return d.getIsReadyOrError();\n } else if (isDataInfo(d)) {\n const type = d.type;\n switch (type) {\n case 'Json':\n return true;\n case 'JsonPartitioned':\n return Object.values(d.parts).every((p) => p.getIsReadyOrError());\n case 'BinaryPartitioned':\n return Object.values(d.parts)\n .every((p) => p.index.getIsReadyOrError() && p.values.getIsReadyOrError());\n case 'ParquetPartitioned':\n return Object.values(d.parts)\n .every((p) => p.getIsReadyOrError());\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw Error(`unsupported column data type: ${d satisfies never}`);\n }\n });\n}\n\nfunction createPTableDef(params: {\n columns: PColumn<PColumnDataUniversal>[];\n labelColumns: PColumn<PColumnDataUniversal>[];\n coreJoinType: 'inner' | 'full';\n partitionFilters: PTableRecordSingleValueFilterV2[];\n filters: PTableRecordSingleValueFilterV2[];\n sorting: PTableSorting[];\n coreColumnPredicate?: ((spec: PColumnSpec) => boolean);\n}): PTableDef<PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>> {\n let coreColumns = params.columns;\n const secondaryColumns: typeof params.columns = [];\n\n if (params.coreColumnPredicate) {\n coreColumns = [];\n for (const c of params.columns)\n if (params.coreColumnPredicate(c.spec)) coreColumns.push(c);\n else secondaryColumns.push(c);\n }\n\n secondaryColumns.push(...params.labelColumns);\n\n return {\n src: {\n type: 'outer',\n primary: {\n type: params.coreJoinType,\n entries: coreColumns.map((c) => ({ type: 'column', column: c })),\n },\n secondary: secondaryColumns.map((c) => ({ type: 'column', column: c })),\n },\n partitionFilters: params.partitionFilters,\n filters: params.filters,\n sorting: params.sorting,\n };\n}\n\n/** PlAgDataTable model */\nexport type PlDataTableModel = {\n /** DataSource identifier for state management */\n sourceId: string | null;\n /** p-table including all columns, used to show the full specification of the table */\n fullTableHandle: PTableHandle;\n /** p-table including only visible columns, used to get the data */\n visibleTableHandle: PTableHandle;\n};\n\n/** Check if column should be omitted from the table */\nexport function isColumnHidden(spec: { annotations?: Annotation }): boolean {\n return readAnnotation(spec, Annotation.Table.Visibility) === 'hidden';\n}\n\n/** Check if column is hidden by default */\nexport function isColumnOptional(spec: { annotations?: Annotation }): boolean {\n return readAnnotation(spec, Annotation.Table.Visibility) === 'optional';\n}\n\n/**\n * Return unique entries of the array by the provided id\n * For each id, the last entry is kept\n */\nexport function uniqueBy<T>(array: T[], makeId: (entry: T) => string): T[] {\n return [...new Map(array.map((e) => [makeId(e), e])).values()];\n}\n\n/**\n * Create p-table spec and handle given ui table state\n *\n * @param ctx context\n * @param columns column list\n * @param tableState table ui state\n * @returns PlAgDataTableV2 table source\n */\nexport function createPlDataTableV2<A, U>(\n ctx: RenderCtx<A, U>,\n inputColumns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[],\n tableState: PlDataTableStateV2,\n ops?: CreatePlDataTableOps,\n): PlDataTableModel | undefined {\n if (inputColumns.length === 0) return undefined;\n const columns = inputColumns.filter((c) => isLinkerColumn(c.spec) || !isColumnHidden(c.spec));\n\n const tableStateNormalized = upgradePlDataTableStateV2(tableState);\n\n const allLabelColumns = getAllLabelColumns(ctx.resultPool);\n if (!allLabelColumns) return undefined;\n\n const fullLabelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);\n const fullColumns = [...columns, ...fullLabelColumns];\n\n const fullColumnsAxes = uniqueBy(\n [...fullColumns.flatMap((c) => c.spec.axesSpec.map((a) => getAxisId(a)))],\n (a) => canonicalizeJson<AxisId>(a),\n );\n const fullColumnsIds: PTableColumnId[] = [\n ...fullColumnsAxes.map((a) => ({ type: 'axis', id: a } satisfies PTableColumnIdAxis)),\n ...fullColumns.map((c) => ({ type: 'column', id: c.id } satisfies PTableColumnIdColumn)),\n ];\n const fullColumnsIdsSet = new Set(fullColumnsIds.map((c) => canonicalizeJson<PTableColumnId>(c)));\n const isValidColumnId = (id: PTableColumnId): boolean => fullColumnsIdsSet.has(canonicalizeJson<PTableColumnId>(id));\n\n const coreJoinType = ops?.coreJoinType ?? 'full';\n const partitionFilters: PTableRecordSingleValueFilterV2[]\n = tableStateNormalized.pTableParams.partitionFilters\n .filter((f) => {\n const valid = isValidColumnId(f.column);\n if (!valid) ctx.logWarn(`Partition filter ${JSON.stringify(f)} does not match provided columns, skipping`);\n return valid;\n });\n const filters: PTableRecordSingleValueFilterV2[]\n = uniqueBy(\n [...(ops?.filters ?? []), ...tableStateNormalized.pTableParams.filters],\n (f) => canonicalizeJson<PTableColumnId>(f.column),\n ).filter((f) => {\n const valid = isValidColumnId(f.column);\n if (!valid) ctx.logWarn(`Filter ${JSON.stringify(f)} does not match provided columns, skipping`);\n return valid;\n });\n const sorting: PTableSorting[]\n = uniqueBy(\n [...(ops?.sorting ?? []), ...tableStateNormalized.pTableParams.sorting],\n (s) => canonicalizeJson<PTableColumnId>(s.column),\n ).filter((s) => {\n const valid = isValidColumnId(s.column);\n if (!valid) ctx.logWarn(`Sorting ${JSON.stringify(s)} does not match provided columns, skipping`);\n return valid;\n });\n\n const fullDef = createPTableDef({\n columns,\n labelColumns: fullLabelColumns,\n coreJoinType,\n partitionFilters,\n filters,\n sorting,\n coreColumnPredicate: ops?.coreColumnPredicate,\n });\n const fullHandle = ctx.createPTable(fullDef);\n\n const hiddenColumns = new Set<PObjectId>(((): PObjectId[] => {\n // Inner join works as a filter - all columns must be present\n if (coreJoinType === 'inner') return [];\n\n const hiddenColIds = tableStateNormalized.pTableParams.hiddenColIds;\n if (hiddenColIds) return hiddenColIds;\n\n return columns\n .filter((c) => isColumnOptional(c.spec))\n .map((c) => c.id);\n })());\n\n // Preserve linker columns\n columns\n .filter((c) => isLinkerColumn(c.spec))\n .forEach((c) => hiddenColumns.delete(c.id));\n\n // Preserve core columns as they change the shape of join.\n if (ops?.coreColumnPredicate) {\n const coreColumns = columns.flatMap((c) => ops?.coreColumnPredicate?.(c.spec) ? [c.id] : []);\n coreColumns.forEach((c) => hiddenColumns.delete(c));\n }\n\n // Filters decrease the number of result rows, sorting changes the order of result rows\n [...partitionFilters.map((f) => f.column), ...filters.map((f) => f.column), ...sorting.map((s) => s.column)]\n .filter((c): c is PTableColumnIdColumn => c.type === 'column')\n .forEach((c) => hiddenColumns.delete(c.id));\n\n const visibleColumns = columns.filter((c) => !hiddenColumns.has(c.id));\n const visibleLabelColumns = getMatchingLabelColumns(visibleColumns.map(getColumnIdAndSpec), allLabelColumns);\n\n // if at least one column is not yet computed, we can't show the table\n if (!allColumnsComputed([...visibleColumns, ...visibleLabelColumns])) return undefined;\n\n const visibleDef = createPTableDef({\n columns: visibleColumns,\n labelColumns: visibleLabelColumns,\n coreJoinType,\n partitionFilters,\n filters,\n sorting,\n coreColumnPredicate: ops?.coreColumnPredicate,\n });\n const visibleHandle = ctx.createPTable(visibleDef);\n\n return {\n sourceId: tableStateNormalized.pTableParams.sourceId,\n fullTableHandle: fullHandle,\n visibleTableHandle: visibleHandle,\n } satisfies PlDataTableModel;\n}\n\n/** Create sheet entries for PlDataTable */\nexport function createPlDataTableSheet<A, U>(\n ctx: RenderCtx<A, U>,\n axis: AxisSpec,\n values: (string | number)[],\n): PlDataTableSheet {\n const labels = ctx.resultPool.findLabels(axis);\n return {\n axis,\n options: values.map((v) => ({\n value: v,\n label: labels?.[v] ?? v.toString(),\n })),\n defaultValue: values[0],\n };\n}\n"],"names":["PColumnName","PColumnCollection","getAxisId","matchAxisId","TreeNodeAccessor","readAnnotation","Annotation","isLinkerColumn","getColumnIdAndSpec","canonicalizeJson"],"mappings":"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"}
1
+ {"version":3,"file":"PlDataTable.cjs","sources":["../../src/components/PlDataTable.ts"],"sourcesContent":["import type {\n AxisId,\n AxisSpec,\n CanonicalizedJson,\n DataInfo,\n ListOptionBase,\n PColumn,\n PColumnIdAndSpec,\n PColumnSpec,\n PColumnValues,\n PObjectId,\n PTableColumnId,\n PTableColumnIdAxis,\n PTableColumnIdColumn,\n PTableColumnSpec,\n PTableDef,\n PTableHandle,\n PTableRecordFilter,\n PTableRecordSingleValueFilterV2,\n PTableSorting,\n} from '@milaboratories/pl-model-common';\nimport {\n Annotation,\n canonicalizeJson,\n getAxisId,\n getColumnIdAndSpec,\n matchAxisId,\n PColumnName,\n readAnnotation,\n} from '@milaboratories/pl-model-common';\nimport type {\n AxisLabelProvider,\n ColumnProvider,\n PColumnDataUniversal,\n RenderCtx,\n} from '../render';\nimport {\n PColumnCollection,\n TreeNodeAccessor,\n} from '../render';\nimport { isLinkerColumn } from './PFrameForGraphs';\n\nexport type PlTableColumnId = {\n /** Original column spec */\n source: PTableColumnSpec;\n /** Column spec with labeled axes replaced by label columns */\n labeled: PTableColumnSpec;\n};\n\nexport type PlTableColumnIdJson = CanonicalizedJson<PlTableColumnId>;\n\nexport type PlDataTableGridStateCore = {\n /** Includes column ordering */\n columnOrder?: {\n /** All colIds in order */\n orderedColIds: PlTableColumnIdJson[];\n };\n /** Includes current sort columns and direction */\n sort?: {\n /** Sorted columns and directions in order */\n sortModel: {\n /** Column Id to apply the sort to. */\n colId: PlTableColumnIdJson;\n /** Sort direction */\n sort: 'asc' | 'desc';\n }[];\n };\n /** Includes column visibility */\n columnVisibility?: {\n /** All colIds which were hidden */\n hiddenColIds: PlTableColumnIdJson[];\n };\n};\n\nexport type PlDataTableSheet = {\n /** spec of the axis to use */\n axis: AxisSpec;\n /** options to show in the filter dropdown */\n options: ListOptionBase<string | number>[];\n /** default (selected) value */\n defaultValue?: string | number;\n};\n\nexport type PlDataTableSheetState = {\n /** id of the axis */\n axisId: AxisId;\n /** selected value */\n value: string | number;\n};\n\n/**\n * PlDataTableV2 persisted state\n */\nexport type PlDataTableStateV2 =\n // Old versions of the state\n | {\n // no version\n gridState: {\n columnOrder?: {\n orderedColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sort?: {\n sortModel: {\n colId: CanonicalizedJson<PTableColumnSpec>;\n sort: 'asc' | 'desc';\n }[];\n };\n columnVisibility?: {\n hiddenColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sourceId?: string;\n sheets?: Record<CanonicalizedJson<AxisId>, string | number>;\n };\n pTableParams?: {\n sorting?: PTableSorting[];\n filters?: PTableRecordFilter[];\n };\n }\n | {\n version: 2;\n stateCache: {\n sourceId: string;\n gridState: {\n columnOrder?: {\n orderedColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sort?: {\n sortModel: {\n colId: CanonicalizedJson<PTableColumnSpec>;\n sort: 'asc' | 'desc';\n }[];\n };\n columnVisibility?: {\n hiddenColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n };\n sheetsState: PlDataTableSheetState[];\n }[];\n pTableParams: {\n hiddenColIds: PObjectId[] | null;\n filters: PTableRecordFilter[];\n sorting: PTableSorting[];\n };\n }\n | {\n version: 3;\n stateCache: {\n sourceId: string;\n gridState: {\n columnOrder?: {\n orderedColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n sort?: {\n sortModel: {\n colId: CanonicalizedJson<PTableColumnSpec>;\n sort: 'asc' | 'desc';\n }[];\n };\n columnVisibility?: {\n hiddenColIds: CanonicalizedJson<PTableColumnSpec>[];\n };\n };\n sheetsState: PlDataTableSheetState[];\n filtersState: PlDataTableFilterState[];\n }[];\n pTableParams: PTableParamsV2;\n }\n // Normalized state\n | PlDataTableStateV2Normalized;\n\nexport type PlDataTableStateV2CacheEntry = {\n /** DataSource identifier for state management */\n sourceId: string;\n /** Internal ag-grid state */\n gridState: PlDataTableGridStateCore;\n /** Sheets state */\n sheetsState: PlDataTableSheetState[];\n /** Filters state */\n filtersState: PlDataTableFilterState[];\n};\n\nexport type PTableParamsV2 =\n | {\n sourceId: null;\n hiddenColIds: null;\n partitionFilters: [];\n filters: [];\n sorting: [];\n }\n | {\n sourceId: string;\n hiddenColIds: PObjectId[] | null;\n partitionFilters: PTableRecordFilter[];\n filters: PTableRecordFilter[];\n sorting: PTableSorting[];\n };\n\nexport type PlDataTableStateV2Normalized = {\n /** Version for upgrades */\n version: 4;\n /** Internal states, LRU cache for 5 sourceId-s */\n stateCache: PlDataTableStateV2CacheEntry[];\n /** PTable params derived from the cache state for the current sourceId */\n pTableParams: PTableParamsV2;\n};\n\nexport function makeDefaultPTableParams(): PTableParamsV2 {\n return {\n sourceId: null,\n hiddenColIds: null,\n partitionFilters: [],\n filters: [],\n sorting: [],\n };\n}\n\n/** Create default PlDataTableStateV2 */\nexport function createPlDataTableStateV2(): PlDataTableStateV2Normalized {\n return {\n version: 4,\n stateCache: [],\n pTableParams: makeDefaultPTableParams(),\n };\n}\n\n/** Upgrade PlDataTableStateV2 to the latest version */\nexport function upgradePlDataTableStateV2(state: PlDataTableStateV2 | undefined): PlDataTableStateV2Normalized {\n // Block just added, had no state, model started earlier than the UI\n if (!state) {\n return createPlDataTableStateV2();\n }\n // v1 -> v2\n if (!('version' in state)) {\n // Non upgradeable as sourceId calculation algorithm has changed, resetting state to default\n state = createPlDataTableStateV2();\n }\n // v2 -> v3\n if (state.version === 2) {\n state = {\n version: 3,\n stateCache: state.stateCache.map((entry) => ({\n ...entry,\n filtersState: [],\n })),\n pTableParams: makeDefaultPTableParams(),\n };\n }\n // v3 -> v4\n if (state.version === 3) {\n // Non upgradeable as column ids calculation algorithm has changed, resetting state to default\n state = createPlDataTableStateV2();\n }\n return state;\n}\n\nexport type PlDataTableFilterState = {\n id: PTableColumnId;\n alphabetic: boolean;\n filter: null | {\n value: PlTableFilter;\n disabled: boolean;\n };\n};\n\n/** PlTableFilters filter entry */\nexport type PlTableFilterIsNotNA = {\n /** Predicate type */\n type: 'isNotNA';\n};\n\n/** PlTableFilters filter entry */\nexport type PlTableFilterIsNA = {\n /** Predicate type */\n type: 'isNA';\n};\n\n/** PlTableFilters filter entries applicable to both string and number values */\nexport type PlTableFilterCommon = PlTableFilterIsNotNA | PlTableFilterIsNA;\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberEquals = {\n /** Predicate type */\n type: 'number_equals';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberNotEquals = {\n /** Predicate type */\n type: 'number_notEquals';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberGreaterThan = {\n /** Predicate type */\n type: 'number_greaterThan';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberGreaterThanOrEqualTo = {\n /** Predicate type */\n type: 'number_greaterThanOrEqualTo';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberLessThan = {\n /** Predicate type */\n type: 'number_lessThan';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberLessThanOrEqualTo = {\n /** Predicate type */\n type: 'number_lessThanOrEqualTo';\n /** Referense value */\n reference: number;\n};\n\n/** PlTableFilters numeric filter entry */\nexport type PlTableFilterNumberBetween = {\n /** Predicate type */\n type: 'number_between';\n /** Referense value for the lower bound */\n lowerBound: number;\n /** Defines whether values equal to lower bound reference value should be matched */\n includeLowerBound: boolean;\n /** Referense value for the upper bound */\n upperBound: number;\n /** Defines whether values equal to upper bound reference value should be matched */\n includeUpperBound: boolean;\n};\n\n/** All PlTableFilters numeric filter entries */\nexport type PlTableFilterNumber =\n | PlTableFilterCommon\n | PlTableFilterNumberEquals\n | PlTableFilterNumberNotEquals\n | PlTableFilterNumberGreaterThan\n | PlTableFilterNumberGreaterThanOrEqualTo\n | PlTableFilterNumberLessThan\n | PlTableFilterNumberLessThanOrEqualTo\n | PlTableFilterNumberBetween;\n/** All types of PlTableFilters numeric filter entries */\nexport type PlTableFilterNumberType = PlTableFilterNumber['type'];\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringEquals = {\n /** Predicate type */\n type: 'string_equals';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringNotEquals = {\n /** Predicate type */\n type: 'string_notEquals';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringContains = {\n /** Predicate type */\n type: 'string_contains';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringDoesNotContain = {\n /** Predicate type */\n type: 'string_doesNotContain';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringMatches = {\n /** Predicate type */\n type: 'string_matches';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringDoesNotMatch = {\n /** Predicate type */\n type: 'string_doesNotMatch';\n /** Referense value */\n reference: string;\n};\n\n/** PlTableFilters string filter entry */\nexport type PlTableFilterStringContainsFuzzyMatch = {\n /** Predicate type */\n type: 'string_containsFuzzyMatch';\n /** Referense value */\n reference: string;\n /**\n * Maximum acceptable edit distance between reference value and matched substring\n * @see https://en.wikipedia.org/wiki/Edit_distance\n */\n maxEdits: number;\n /**\n * When {@link substitutionsOnly} is set to false\n * Levenshtein distance is used as edit distance (substitutions and indels)\n * @see https://en.wikipedia.org/wiki/Levenshtein_distance\n * When {@link substitutionsOnly} is set to true\n * Hamming distance is used as edit distance (substitutions only)\n * @see https://en.wikipedia.org/wiki/Hamming_distance\n */\n substitutionsOnly: boolean;\n /**\n * Single character in {@link reference} that will labelColumn any\n * single character in searched text.\n */\n wildcard?: string;\n};\n\n/** All PlTableFilters string filter entries */\nexport type PlTableFilterString =\n | PlTableFilterCommon\n | PlTableFilterStringEquals\n | PlTableFilterStringNotEquals\n | PlTableFilterStringContains\n | PlTableFilterStringDoesNotContain\n | PlTableFilterStringMatches\n | PlTableFilterStringDoesNotMatch\n | PlTableFilterStringContainsFuzzyMatch;\n/** All types of PlTableFilters string filter entries */\nexport type PlTableFilterStringType = PlTableFilterString['type'];\n\n/** All PlTableFilters filter entries */\nexport type PlTableFilter = PlTableFilterNumber | PlTableFilterString;\n/** All types of PlTableFilters filter entries */\nexport type PlTableFilterType = PlTableFilter['type'];\n\nexport type CreatePlDataTableOps = {\n /** Filters for columns and non-partitioned axes */\n filters?: PTableRecordFilter[];\n\n /** Sorting to columns hidden from user */\n sorting?: PTableSorting[];\n\n /**\n * Selects columns for which will be inner-joined to the table.\n *\n * Default behaviour: all columns are considered to be core\n */\n coreColumnPredicate?: (spec: PColumnSpec) => boolean;\n\n /**\n * Determines how core columns should be joined together:\n * inner - so user will only see records present in all core columns\n * full - so user will only see records present in any of the core columns\n *\n * All non-core columns will be left joined to the table produced by the core\n * columns, in other words records form the pool of non-core columns will only\n * make their way into the final table if core table contins corresponding key.\n *\n * Default: 'full'\n */\n coreJoinType?: 'inner' | 'full';\n};\n\n/** Check if column is a label column */\nexport function isLabelColumn(column: PColumnSpec) {\n return column.axesSpec.length === 1 && column.name === PColumnName.Label;\n}\n\n/** Get all label columns from the result pool */\nexport function getAllLabelColumns(\n resultPool: AxisLabelProvider & ColumnProvider,\n): PColumn<PColumnDataUniversal>[] | undefined {\n return new PColumnCollection()\n .addAxisLabelProvider(resultPool)\n .addColumnProvider(resultPool)\n .getColumns({\n name: PColumnName.Label,\n axes: [{}], // exactly one axis\n }, { dontWaitAllData: true });\n}\n\n/** Get label columns matching the provided columns from the result pool */\nexport function getMatchingLabelColumns(\n columns: PColumnIdAndSpec[],\n allLabelColumns: PColumn<PColumnDataUniversal>[],\n): PColumn<PColumnDataUniversal>[] {\n // split input columns into label and value columns\n const inputLabelColumns: typeof columns = [];\n const inputValueColumns: typeof columns = [];\n for (const column of columns) {\n if (isLabelColumn(column.spec)) {\n inputLabelColumns.push(column);\n } else {\n inputValueColumns.push(column);\n }\n }\n\n // collect distinct axes of value columns\n const unlabeledAxes: AxisId[] = [];\n for (const column of inputValueColumns) {\n for (const axis of column.spec.axesSpec) {\n const axisId = getAxisId(axis);\n if (!unlabeledAxes.some((id) => matchAxisId(id, axisId))) {\n unlabeledAxes.push(axisId);\n }\n }\n }\n\n // remove axes matched by input label columns\n for (const labelColumn of inputLabelColumns) {\n const labelAxisId = getAxisId(labelColumn.spec.axesSpec[0]);\n const labelMatch = unlabeledAxes.findIndex((axisId) => matchAxisId(axisId, labelAxisId));\n if (labelMatch !== -1) {\n unlabeledAxes.splice(labelMatch, 1);\n }\n }\n\n // warning: changing this id will break backward compatibility\n const colId = (id: PObjectId, domain?: Record<string, string>): PObjectId => {\n let wid = id.toString();\n if (domain) {\n for (const k in domain) {\n wid += k;\n wid += domain[k];\n }\n }\n return wid as PObjectId;\n };\n\n // search label columns for unmatched axes\n const labelColumns: typeof allLabelColumns = [];\n for (const labelColumn of allLabelColumns) {\n const labelAxis = labelColumn.spec.axesSpec[0];\n const labelAxisId = getAxisId(labelAxis);\n const labelMatch = unlabeledAxes.findIndex((axisId) => matchAxisId(axisId, labelAxisId));\n if (labelMatch !== -1) {\n const axisId = unlabeledAxes[labelMatch];\n const dataDomainLen = Object.keys(axisId.domain ?? {}).length;\n const labelDomainLen = Object.keys(labelAxis.domain ?? {}).length;\n if (dataDomainLen > labelDomainLen) {\n labelColumns.push({\n id: colId(labelColumn.id, axisId.domain),\n spec: {\n ...labelColumn.spec,\n axesSpec: [{ ...axisId, annotations: labelAxis.annotations }],\n },\n data: labelColumn.data,\n });\n } else {\n labelColumns.push(labelColumn);\n }\n unlabeledAxes.splice(labelMatch, 1);\n }\n }\n return labelColumns;\n}\n\n/** Check if all columns are computed */\nexport function allColumnsComputed(\n columns: PColumn<PColumnValues | TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[],\n): boolean {\n type Data = typeof columns[number]['data'];\n const isValues = (d: Data): d is PColumnValues => Array.isArray(d);\n const isAccessor = (d: Data): d is TreeNodeAccessor => d instanceof TreeNodeAccessor;\n const isDataInfo = (d: Data): d is DataInfo<TreeNodeAccessor> =>\n typeof d === 'object' && 'type' in d;\n\n return columns\n .map((c) => c.data)\n .every((d): boolean => {\n if (isValues(d)) {\n return true;\n } else if (isAccessor(d)) {\n return d.getIsReadyOrError();\n } else if (isDataInfo(d)) {\n const type = d.type;\n switch (type) {\n case 'Json':\n return true;\n case 'JsonPartitioned':\n return Object.values(d.parts).every((p) => p.getIsReadyOrError());\n case 'BinaryPartitioned':\n return Object.values(d.parts)\n .every((p) => p.index.getIsReadyOrError() && p.values.getIsReadyOrError());\n case 'ParquetPartitioned':\n return Object.values(d.parts)\n .every((p) => p.getIsReadyOrError());\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw Error(`unsupported column data type: ${d satisfies never}`);\n }\n });\n}\n\nfunction createPTableDef(params: {\n columns: PColumn<PColumnDataUniversal>[];\n labelColumns: PColumn<PColumnDataUniversal>[];\n coreJoinType: 'inner' | 'full';\n partitionFilters: PTableRecordSingleValueFilterV2[];\n filters: PTableRecordSingleValueFilterV2[];\n sorting: PTableSorting[];\n coreColumnPredicate?: ((spec: PColumnSpec) => boolean);\n}): PTableDef<PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>> {\n let coreColumns = params.columns;\n const secondaryColumns: typeof params.columns = [];\n\n if (params.coreColumnPredicate) {\n coreColumns = [];\n for (const c of params.columns)\n if (params.coreColumnPredicate(c.spec)) coreColumns.push(c);\n else secondaryColumns.push(c);\n }\n\n secondaryColumns.push(...params.labelColumns);\n\n return {\n src: {\n type: 'outer',\n primary: {\n type: params.coreJoinType,\n entries: coreColumns.map((c) => ({ type: 'column', column: c })),\n },\n secondary: secondaryColumns.map((c) => ({ type: 'column', column: c })),\n },\n partitionFilters: params.partitionFilters,\n filters: params.filters,\n sorting: params.sorting,\n };\n}\n\n/** PlAgDataTable model */\nexport type PlDataTableModel = {\n /** DataSource identifier for state management */\n sourceId: string | null;\n /** p-table including all columns, used to show the full specification of the table */\n fullTableHandle: PTableHandle;\n /** p-table including only visible columns, used to get the data */\n visibleTableHandle: PTableHandle;\n};\n\n/** Check if column should be omitted from the table */\nexport function isColumnHidden(spec: { annotations?: Annotation }): boolean {\n return readAnnotation(spec, Annotation.Table.Visibility) === 'hidden';\n}\n\n/** Check if column is hidden by default */\nexport function isColumnOptional(spec: { annotations?: Annotation }): boolean {\n return readAnnotation(spec, Annotation.Table.Visibility) === 'optional';\n}\n\n/**\n * Return unique entries of the array by the provided id\n * For each id, the last entry is kept\n */\nexport function uniqueBy<T>(array: T[], makeId: (entry: T) => string): T[] {\n return [...new Map(array.map((e) => [makeId(e), e])).values()];\n}\n\n/**\n * Create p-table spec and handle given ui table state\n *\n * @param ctx context\n * @param columns column list\n * @param tableState table ui state\n * @returns PlAgDataTableV2 table source\n */\nexport function createPlDataTableV2<A, U>(\n ctx: RenderCtx<A, U>,\n inputColumns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[],\n tableState: PlDataTableStateV2 | undefined,\n ops?: CreatePlDataTableOps,\n): PlDataTableModel | undefined {\n if (inputColumns.length === 0) return undefined;\n const columns = inputColumns.filter((c) => isLinkerColumn(c.spec) || !isColumnHidden(c.spec));\n\n const tableStateNormalized = upgradePlDataTableStateV2(tableState);\n\n const allLabelColumns = getAllLabelColumns(ctx.resultPool);\n if (!allLabelColumns) return undefined;\n\n const fullLabelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);\n const fullColumns = [...columns, ...fullLabelColumns];\n\n const fullColumnsAxes = uniqueBy(\n [...fullColumns.flatMap((c) => c.spec.axesSpec.map((a) => getAxisId(a)))],\n (a) => canonicalizeJson<AxisId>(a),\n );\n const fullColumnsIds: PTableColumnId[] = [\n ...fullColumnsAxes.map((a) => ({ type: 'axis', id: a } satisfies PTableColumnIdAxis)),\n ...fullColumns.map((c) => ({ type: 'column', id: c.id } satisfies PTableColumnIdColumn)),\n ];\n const fullColumnsIdsSet = new Set(fullColumnsIds.map((c) => canonicalizeJson<PTableColumnId>(c)));\n const isValidColumnId = (id: PTableColumnId): boolean => fullColumnsIdsSet.has(canonicalizeJson<PTableColumnId>(id));\n\n const coreJoinType = ops?.coreJoinType ?? 'full';\n const partitionFilters: PTableRecordSingleValueFilterV2[]\n = tableStateNormalized.pTableParams.partitionFilters\n .filter((f) => {\n const valid = isValidColumnId(f.column);\n if (!valid) ctx.logWarn(`Partition filter ${JSON.stringify(f)} does not match provided columns, skipping`);\n return valid;\n });\n const filters: PTableRecordSingleValueFilterV2[]\n = uniqueBy(\n [...(ops?.filters ?? []), ...tableStateNormalized.pTableParams.filters],\n (f) => canonicalizeJson<PTableColumnId>(f.column),\n ).filter((f) => {\n const valid = isValidColumnId(f.column);\n if (!valid) ctx.logWarn(`Filter ${JSON.stringify(f)} does not match provided columns, skipping`);\n return valid;\n });\n const sorting: PTableSorting[]\n = uniqueBy(\n [...(ops?.sorting ?? []), ...tableStateNormalized.pTableParams.sorting],\n (s) => canonicalizeJson<PTableColumnId>(s.column),\n ).filter((s) => {\n const valid = isValidColumnId(s.column);\n if (!valid) ctx.logWarn(`Sorting ${JSON.stringify(s)} does not match provided columns, skipping`);\n return valid;\n });\n\n const fullDef = createPTableDef({\n columns,\n labelColumns: fullLabelColumns,\n coreJoinType,\n partitionFilters,\n filters,\n sorting,\n coreColumnPredicate: ops?.coreColumnPredicate,\n });\n const fullHandle = ctx.createPTable(fullDef);\n\n const hiddenColumns = new Set<PObjectId>(((): PObjectId[] => {\n // Inner join works as a filter - all columns must be present\n if (coreJoinType === 'inner') return [];\n\n const hiddenColIds = tableStateNormalized.pTableParams.hiddenColIds;\n if (hiddenColIds) return hiddenColIds;\n\n return columns\n .filter((c) => isColumnOptional(c.spec))\n .map((c) => c.id);\n })());\n\n // Preserve linker columns\n columns\n .filter((c) => isLinkerColumn(c.spec))\n .forEach((c) => hiddenColumns.delete(c.id));\n\n // Preserve core columns as they change the shape of join.\n if (ops?.coreColumnPredicate) {\n const coreColumns = columns.flatMap((c) => ops?.coreColumnPredicate?.(c.spec) ? [c.id] : []);\n coreColumns.forEach((c) => hiddenColumns.delete(c));\n }\n\n // Filters decrease the number of result rows, sorting changes the order of result rows\n [...partitionFilters.map((f) => f.column), ...filters.map((f) => f.column), ...sorting.map((s) => s.column)]\n .filter((c): c is PTableColumnIdColumn => c.type === 'column')\n .forEach((c) => hiddenColumns.delete(c.id));\n\n const visibleColumns = columns.filter((c) => !hiddenColumns.has(c.id));\n const visibleLabelColumns = getMatchingLabelColumns(visibleColumns.map(getColumnIdAndSpec), allLabelColumns);\n\n // if at least one column is not yet computed, we can't show the table\n if (!allColumnsComputed([...visibleColumns, ...visibleLabelColumns])) return undefined;\n\n const visibleDef = createPTableDef({\n columns: visibleColumns,\n labelColumns: visibleLabelColumns,\n coreJoinType,\n partitionFilters,\n filters,\n sorting,\n coreColumnPredicate: ops?.coreColumnPredicate,\n });\n const visibleHandle = ctx.createPTable(visibleDef);\n\n return {\n sourceId: tableStateNormalized.pTableParams.sourceId,\n fullTableHandle: fullHandle,\n visibleTableHandle: visibleHandle,\n } satisfies PlDataTableModel;\n}\n\n/** Create sheet entries for PlDataTable */\nexport function createPlDataTableSheet<A, U>(\n ctx: RenderCtx<A, U>,\n axis: AxisSpec,\n values: (string | number)[],\n): PlDataTableSheet {\n const labels = ctx.resultPool.findLabels(axis);\n return {\n axis,\n options: values.map((v) => ({\n value: v,\n label: labels?.[v] ?? v.toString(),\n })),\n defaultValue: values[0],\n };\n}\n"],"names":["PColumnName","PColumnCollection","getAxisId","matchAxisId","TreeNodeAccessor","readAnnotation","Annotation","isLinkerColumn","getColumnIdAndSpec","canonicalizeJson"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { AxisId, AxisSpec, CanonicalizedJson, DataInfo, ListOptionBase, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PObjectId, PTableColumnId, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting, Annotation } from '@milaboratories/pl-model-common';
2
- import { AxisLabelProvider, ColumnProvider, PColumnDataUniversal, RenderCtx, TreeNodeAccessor } from '../render';
1
+ import type { AxisId, AxisSpec, CanonicalizedJson, DataInfo, ListOptionBase, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PObjectId, PTableColumnId, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting } from '@milaboratories/pl-model-common';
2
+ import { Annotation } from '@milaboratories/pl-model-common';
3
+ import type { AxisLabelProvider, ColumnProvider, PColumnDataUniversal, RenderCtx } from '../render';
4
+ import { TreeNodeAccessor } from '../render';
3
5
  export type PlTableColumnId = {
4
6
  /** Original column spec */
5
7
  source: PTableColumnSpec;
@@ -150,7 +152,7 @@ export declare function makeDefaultPTableParams(): PTableParamsV2;
150
152
  /** Create default PlDataTableStateV2 */
151
153
  export declare function createPlDataTableStateV2(): PlDataTableStateV2Normalized;
152
154
  /** Upgrade PlDataTableStateV2 to the latest version */
153
- export declare function upgradePlDataTableStateV2(state: PlDataTableStateV2): PlDataTableStateV2Normalized;
155
+ export declare function upgradePlDataTableStateV2(state: PlDataTableStateV2 | undefined): PlDataTableStateV2Normalized;
154
156
  export type PlDataTableFilterState = {
155
157
  id: PTableColumnId;
156
158
  alphabetic: boolean;
@@ -368,6 +370,7 @@ export declare function uniqueBy<T>(array: T[], makeId: (entry: T) => string): T
368
370
  * @param tableState table ui state
369
371
  * @returns PlAgDataTableV2 table source
370
372
  */
371
- export declare function createPlDataTableV2<A, U>(ctx: RenderCtx<A, U>, inputColumns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableStateV2, ops?: CreatePlDataTableOps): PlDataTableModel | undefined;
373
+ export declare function createPlDataTableV2<A, U>(ctx: RenderCtx<A, U>, inputColumns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableStateV2 | undefined, ops?: CreatePlDataTableOps): PlDataTableModel | undefined;
372
374
  /** Create sheet entries for PlDataTable */
373
375
  export declare function createPlDataTableSheet<A, U>(ctx: RenderCtx<A, U>, axis: AxisSpec, values: (string | number)[]): PlDataTableSheet;
376
+ //# sourceMappingURL=PlDataTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ function createPlDataTableStateV2() {
24
24
  }
25
25
  /** Upgrade PlDataTableStateV2 to the latest version */
26
26
  function upgradePlDataTableStateV2(state) {
27
+ // Block just added, had no state, model started earlier than the UI
28
+ if (!state) {
29
+ return createPlDataTableStateV2();
30
+ }
27
31
  // v1 -> v2
28
32
  if (!('version' in state)) {
29
33
  // Non upgradeable as sourceId calculation algorithm has changed, resetting state to default