@platforma-sdk/model 1.10.12 → 1.13.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.
- package/dist/components/PlDataTable.d.ts +18 -2
- package/dist/components/PlDataTable.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +531 -331
- package/dist/index.mjs.map +1 -1
- package/dist/render/api.d.ts +15 -2
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/util/label.d.ts +48 -0
- package/dist/render/util/label.d.ts.map +1 -0
- package/dist/render/util/resource_map.d.ts +16 -2
- package/dist/render/util/resource_map.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/PlDataTable.ts +49 -6
- package/src/render/api.ts +63 -6
- package/src/render/util/label.test.ts +98 -0
- package/src/render/util/label.ts +147 -0
- package/src/render/util/resource_map.ts +141 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JoinEntry, PColumn, PColumnIdAndSpec, PTableHandle, PTableRecordFilter, PTableSorting } from '@milaboratories/pl-model-common';
|
|
1
|
+
import { AxisId, JoinEntry, PColumn, PColumnIdAndSpec, PObjectId, PTableHandle, PTableRecordFilter, PTableSorting } from '@milaboratories/pl-model-common';
|
|
2
2
|
import { RenderCtx, TreeNodeAccessor } from '../render';
|
|
3
3
|
/** Data table state */
|
|
4
4
|
export type PlDataTableGridState = {
|
|
@@ -25,6 +25,21 @@ export type PlDataTableGridState = {
|
|
|
25
25
|
/** current sheet selections */
|
|
26
26
|
sheets?: Record<string, string | number>;
|
|
27
27
|
};
|
|
28
|
+
export type PlDataTableSheet = {
|
|
29
|
+
/** id of the axis to use */
|
|
30
|
+
axis: AxisId;
|
|
31
|
+
/** id of label column to use in filter instead of axis */
|
|
32
|
+
column?: PObjectId;
|
|
33
|
+
/** options to show in the filter tan */
|
|
34
|
+
options: {
|
|
35
|
+
/** value of the option (should be one of the values in the axis or column) */
|
|
36
|
+
value: string | number;
|
|
37
|
+
/** corresponding label */
|
|
38
|
+
label: string;
|
|
39
|
+
}[];
|
|
40
|
+
/** default (selected) value */
|
|
41
|
+
defaultValue?: string | number;
|
|
42
|
+
};
|
|
28
43
|
/**
|
|
29
44
|
* Params used to get p-table handle from the driver
|
|
30
45
|
*/
|
|
@@ -203,5 +218,6 @@ export type PlTableFiltersModel = {
|
|
|
203
218
|
* @param tableState table ui state
|
|
204
219
|
* @returns
|
|
205
220
|
*/
|
|
206
|
-
export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor>[], tableState?: PlDataTableState): PTableHandle;
|
|
221
|
+
export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor>[], tableState?: PlDataTableState, filters?: PTableRecordFilter[]): PTableHandle;
|
|
222
|
+
export declare function createPlDataTableSheet<A, U>(ctx: RenderCtx<A, U>, axis: AxisId, values: (string | number)[]): PlDataTableSheet;
|
|
207
223
|
//# sourceMappingURL=PlDataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAGN,SAAS,EAET,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExD,uBAAuB;AACvB,MAAM,MAAM,oBAAoB,GAAG;IACjC,+BAA+B;IAC/B,WAAW,CAAC,EAAE;QACZ,0BAA0B;QAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,kDAAkD;IAClD,IAAI,CAAC,EAAE;QACL,6CAA6C;QAC7C,SAAS,EAAE;YACT,sCAAsC;YACtC,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;SACtB,EAAE,CAAC;KACL,CAAC;IACF,iCAAiC;IACjC,gBAAgB,CAAC,EAAE;QACjB,mCAAmC;QACnC,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IAEF,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,wCAAwC;IACxC,OAAO,EAAE;QACP,8EAA8E;QAC9E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,0BAA0B;QAC1B,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAE7B,SAAS,EAAE,oBAAoB,CAAC;IAEhC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,oBAAoB,GAAG;IACjC,qBAAqB;IACrB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;AAE3E,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB;IACrB,IAAI,EAAE,kBAAkB,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,qBAAqB;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,uCAAuC,GAAG;IACpD,qBAAqB;IACrB,IAAI,EAAE,6BAA6B,CAAC;IACpC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,oCAAoC,GAAG;IACjD,qBAAqB;IACrB,IAAI,EAAE,0BAA0B,CAAC;IACjC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,0BAA0B,GAAG;IACvC,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,8BAA8B,GAC9B,uCAAuC,GACvC,2BAA2B,GAC3B,oCAAoC,GACpC,0BAA0B,CAAC;AAC/B,yDAAyD;AACzD,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,yCAAyC;AACzC,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB;IACrB,IAAI,EAAE,kBAAkB,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,qBAAqB;IACrB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,0BAA0B,GAAG;IACvC,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,+BAA+B,GAAG;IAC5C,qBAAqB;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,qBAAqB;IACrB,IAAI,EAAE,2BAA2B,CAAC;IAClC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,2BAA2B,GAC3B,iCAAiC,GACjC,0BAA0B,GAC1B,+BAA+B,GAC/B,qCAAqC,CAAC;AAC1C,wDAAwD;AACxD,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AACtE,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEtD,2BAA2B;AAC3B,MAAM,MAAM,mBAAmB,GAAG;IAChC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,qDAAqD;IACrD,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,EACpC,UAAU,CAAC,EAAE,gBAAgB,EAC7B,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAC7B,YAAY,CA+Bd;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EACzC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC1B,gBAAgB,CAUlB"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var $=Object.defineProperty;var H=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var f=(e,t,n)=>H(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@milaboratories/pl-model-common");class V extends Error{constructor(t,n){super(`${t.length}${n?"+":""} errors, first error: `+t[0]),this.errors=t,this.moreErrors=n}}function k(e){if(!e.ok)throw new V(e.errors,e.moreErrors);return e.value}function G(e){return new Proxy(e,{get(t,n){return k(t[n])}})}function c(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?w(e):e}function v(e){return{type:"GetFromCtx",variable:e}}function K(e){return{type:"Isolate",cfg:e}}const W=v("$args"),q=v("$it"),z=v("$prod"),Q=v("$staging"),X=v("$ui");function w(e){return{type:"Immediate",value:e}}function R(e){const t={};for(const[n,r]of Object.entries(e))t[n]=c(r);return{type:"MakeObject",template:t}}function Y(...e){const t=[];for(const n of e)t.push(c(n));return{type:"MakeArray",template:t}}function A(e,t){return{type:"GetJsonField",source:c(e),field:c(t)}}function Z(e,t,n="$it"){return{type:"MapRecordValues",source:e,mapping:t,itVar:n}}function tt(e,t,n="$it"){return{type:"MapArrayValues",source:e,mapping:t,itVar:n}}function et(e){return{type:"Flatten",source:e}}function nt(e){return{type:"IsEmpty",arg:e}}function rt(e){return{type:"Not",operand:e}}function it(e,t){return{type:"And",operand1:e,operand2:t}}function st(e,t){return{type:"Or",operand1:e,operand2:t}}function ot(e,t){return{type:"GetResourceField",source:c(e),field:c(t)}}function at(){return function(e){return{type:"GetResourceValueAsJson",source:c(e)}}}function ut(e,t,n="$it"){return{type:"MapResourceFields",source:e,mapping:t,itVar:n}}function lt(e){return{type:"GetBlobContent",source:c(e)}}function ct(e){return{type:"GetBlobContentAsString",source:c(e)}}function dt(){return function(e){return{type:"GetBlobContentAsJson",source:c(e)}}}function pt(e){return{type:"GetDownloadedBlobContent",source:c(e)}}function gt(e){return{type:"GetOnDemandBlobContent",source:c(e)}}function ht(e){return{type:"GetImportProgress",source:c(e)}}function ft(e,t){return{type:"GetLastLogs",source:c(e),lines:t}}function mt(e,t){return{type:"GetProgressLog",source:c(e),patternToSearch:t}}function yt(e){return{type:"GetLogHandle",source:c(e)}}function bt(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function L(e){if(e&&typeof globalThis.getPlatforma=="function")return globalThis.getPlatforma(e);if(typeof globalThis.platforma<"u")return globalThis.platforma;throw new Error("Can't get platforma instance.")}function vt(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function o(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function S(e,t){const n=vt();if(n===void 0)return!1;if(e in n.callbackRegistry)throw new Error(`Callback with key ${e} already registered.`);return n.callbackRegistry[e]=t,!0}const O=new Map;function _t(e,t){e in o().callbackRegistry||(o().callbackRegistry[e]=n=>{for(const r of O.get(e))r(n)},O.set(e,[])),O.get(e).push(t)}class h{constructor(t,n=r=>r){f(this,"isResolved",!1);f(this,"resolvedValue");this.handle=t,this.postProcess=n,_t(t,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(t){return new h(this.handle,n=>t(this.postProcess(n)))}mapDefined(t){return new h(this.handle,n=>{const r=this.postProcess(n);return r?t(r):void 0})}toJSON(){return this.isResolved?this.resolvedValue:{__awaited_futures__:[this.handle]}}}function I(e){return e===void 0?void 0:new y(e)}class y{constructor(t){this.handle=t}resolve(...t){const n=t.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveOutput(...t){const n=t.map(r=>({assertFieldType:"Output",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveInput(...t){const n=t.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveAny(...t){return this.resolveWithCommon({},...t)}resolveWithCommon(t,...n){return I(o().resolveWithCommon(this.handle,t,...n))}get resourceType(){return o().getResourceType(this.handle)}getInputsLocked(){return o().getInputsLocked(this.handle)}getOutputsLocked(){return o().getOutputsLocked(this.handle)}getIsReadyOrError(){return o().getIsReadyOrError(this.handle)}getIsFinal(){return o().getIsFinal(this.handle)}getError(){return I(o().getError(this.handle))}listInputFields(){return o().listInputFields(this.handle)}listOutputFields(){return o().listOutputFields(this.handle)}listDynamicFields(){return o().listDynamicFields(this.handle)}getKeyValueBase64(t){return o().getKeyValueBase64(this.handle,t)}getKeyValueAsString(t){return o().getKeyValueAsString(this.handle,t)}getKeyValueAsJson(t){const n=this.getKeyValueAsString(t);if(n==null)throw new Error("Resource has no content.");return JSON.parse(n)}getDataBase64(){return o().getDataBase64(this.handle)}getDataAsString(){return o().getDataAsString(this.handle)}getDataAsJson(){const t=this.getDataAsString();if(t==null)throw new Error("Resource has no content.");return JSON.parse(t)}getPColumns(t=!1,n=""){const r=this.parsePObjectCollection(t,n);return r===void 0?void 0:Object.entries(r).map(([,s])=>{if(!p.isPColumn(s))throw new Error(`not a PColumn (kind = ${s.spec.kind})`);return s})}parsePObjectCollection(t=!1,n=""){const r=o().parsePObjectCollection(this.handle,t,n);if(r===void 0)return;const i={};for(const[s,u]of Object.entries(r))i[s]=p.mapPObjectData(u,a=>new y(a));return i}getFileContentAsBase64(){return new h(o().getBlobContentAsBase64(this.handle))}getFileContentAsString(){return new h(o().getBlobContentAsString(this.handle))}getFileContentAsJson(){return new h(o().getBlobContentAsString(this.handle)).mapDefined(t=>JSON.parse(t))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new h(o().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new h(o().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}getImportProgress(){return new h(o().getImportProgress(this.handle))}getLastLogs(t){return new h(o().getLastLogs(this.handle,t))}getProgressLog(t){return new h(o().getProgressLog(this.handle,t))}getLogHandle(){return new h(o().getLogHandle(this.handle))}allFieldsResolved(t="Input"){switch(t){case"Input":return this.getInputsLocked()&&this.listInputFields().every(n=>this.resolve({field:n,assertFieldType:"Input"})!==void 0);case"Output":return this.getOutputsLocked()&&this.listOutputFields().every(n=>this.resolve({field:n,assertFieldType:"Output"})!==void 0)}}mapFields(t,n){const{fieldType:r,requireLocked:i,skipUnresolved:s}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},u=t;if(i&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let d=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(l=>[l,this.resolve({field:l,assertFieldType:r})]);return s&&(d=d.filter(l=>l[1]!==void 0)),d.map(([l,m])=>u(l,m))}}const x="staging",T="main";function j(e){return typeof e=="object"&&e!==null&&"__awaited_futures__"in e}function P(e,t,n){if(t.has(n))return;if(t.add(n),typeof n==="object")if(j(n))n.__awaited_futures__.forEach(i=>e.add(i));else if(Array.isArray(n))for(const i of n)P(e,t,i);else for(const[,i]of Object.entries(n))i!==n&&P(e,t,i)}function wt(e){const t=new Set;return P(t,new Set,e),t}const Ct=Object.freeze(Object.defineProperty({__proto__:null,MainAccessorName:T,StagingAccessorName:x,getAllFutureAwaits:wt,isFutureAwait:j},Symbol.toStringTag,{value:"Module"}));class E{constructor(){f(this,"ctx",o());f(this,"defaultLabelFn",(t,n)=>{var r;return((r=t.annotations)==null?void 0:r["pl7.app/label"])??"Unlabelled"})}calculateOptions(t){return this.ctx.calculateOptions(t)}getOptions(t,n=this.defaultLabelFn){return this.getSpecs().entries.filter(r=>t(r.obj)).map(r=>({ref:r.ref,label:n(r.obj,r.ref)}))}getDataFromResultPool(){return this.getData()}getData(){const t=this.ctx.getDataFromResultPool();return{isComplete:t.isComplete,entries:t.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:new y(n.obj.data)}}))}}getDataWithErrorsFromResultPool(){return this.getDataWithErrors()}getDataWithErrors(){const t=this.ctx.getDataWithErrorsFromResultPool();return{isComplete:t.isComplete,entries:t.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:p.mapValueInVOE(n.obj.data,r=>new y(r))}}))}}getSpecsFromResultPool(){return this.getSpecs()}getSpecs(){return this.ctx.getSpecsFromResultPool()}getDataByRef(t){var n;return typeof this.ctx.getDataFromResultPoolByRef>"u"?(n=this.getData().entries.find(r=>r.ref.blockId===t.blockId&&r.ref.name===t.name))==null?void 0:n.obj:p.mapPObjectData(this.ctx.getDataFromResultPoolByRef(t.blockId,t.name),r=>new y(r))}getSpecByRef(t){var n;return typeof this.ctx.getSpecFromResultPoolByRef>"u"?(n=this.getSpecs().entries.find(r=>r.ref.blockId===t.blockId&&r.ref.name===t.name))==null?void 0:n.obj:this.ctx.getSpecFromResultPoolByRef(t.blockId,t.name)}findDataWithCompatibleSpec(t){const n=[];t:for(const r of this.getData().entries){if(!p.isPColumnSpec(r.obj.spec))continue;const i=r.obj.spec;if(t.name===i.name&&t.valueType===i.valueType&&t.axesSpec.length===i.axesSpec.length&&D(t.domain,i.domain)){for(let s=0;s<t.axesSpec.length;++s){const u=t.axesSpec[s],a=i.axesSpec[s];if(u.name!==a.name||u.type!==a.type||!D(u.domain,a.domain))continue t}n.push(r.obj)}}return n}}function D(e,t){if(e===void 0)return t===void 0;if(t===void 0)return!0;for(const n in t)if(e[n]!==t[n])return!1;return!0}class _{constructor(){f(this,"ctx");f(this,"args");f(this,"uiState");f(this,"resultPool",new E);this.ctx=o(),this.args=JSON.parse(this.ctx.args),this.uiState=this.ctx.uiState!==void 0?JSON.parse(this.ctx.uiState):void 0}getNamedAccessor(t){const n=this.ctx.getAccessorHandleByName(t);return n?new y(n):void 0}get prerun(){return this.getNamedAccessor(x)}get precalc(){return this.prerun}get stagingOutput(){return this.precalc}get outputs(){return this.getNamedAccessor(T)}get mainOutput(){return this.outputs}createPFrame(t){return this.ctx.createPFrame(t.map(n=>p.mapPObjectData(n,r=>r.handle)))}createPTable(t){var n;return"columns"in t?n={src:{type:"inner",entries:t.columns.map(r=>({type:"column",column:r}))},filters:t.filters??[],sorting:t.sorting??[]}:n=t,this.ctx.createPTable(p.mapPTableDef(n,r=>p.mapPObjectData(r,i=>i.handle)))}getBlockLabel(t){return this.ctx.getBlockLabel(t)}getCurrentUnstableMarker(){if(!(typeof this.ctx.getCurrentUnstableMarker>"u"))return this.ctx.getCurrentUnstableMarker()}}const M="PColumnData/ResourceMap",B="PColumnData/Partitioned/ResourceMap";function U(e,t,n,r=[],i){if(e===void 0)return!1;switch(e.resourceType.name){case M:{let s=e.getInputsLocked();for(const u of e.listInputFields()){const a=e.resolve({field:u,assertFieldType:"Input"}),d=[...r,...JSON.parse(u)],l=a===void 0?void 0:t(a);l===void 0&&(s=!1),(l!==void 0||i)&&n.push({key:d,value:l})}return s}case B:{let s=e.getInputsLocked();for(const u of e.listInputFields()){const a=e.resolve({field:u,assertFieldType:"Input"});if(a===void 0)s=!1;else{const d=[...r,...JSON.parse(u)],l=U(a,t,n,d,i);s=s&&l}}return s}default:throw new Error(`Unknown resource type: ${e.resourceType.name}`)}}function At(e,t,n=!1){const r=[];return{isComplete:U(e,t,r,[],n),data:r}}const C="1.10.12";function J(e){return e.__renderLambda===!0}function F(e){if(e!==void 0)return J(e)?e.handle:e}function b(e){if(e!==void 0)return typeof e=="string"?{__renderLambda:!0,handle:e,retentive:!1}:e}function St(e){if(e.v3!==void 0){const{initialArgs:t,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:u,sections:a,title:d}=e.v3,{code:l}=e;return{initialArgs:t,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:u,sections:a,title:d,code:l}}else if(e.inputsValid!==void 0){const{sdkVersion:t,renderingMode:n,outputs:r,inputsValid:i,sections:s,initialArgs:u,code:a}=e,d=Object.keys(e);if(t===void 0||n===void 0||r===void 0||i===void 0||s===void 0||u===void 0)throw new Error(`Malformed config v2. SDK version ${t}; Fields = ${d.join(", ")}`);return{sdkVersion:t,renderingMode:n,initialArgs:u,outputs:Object.fromEntries(Object.entries(r).map(([l,m])=>[l,b(m)])),inputsValid:b(i),sections:b(s),initialUiState:void 0,code:a}}else if(e.renderingMode!==void 0){const{sdkVersion:t,canRun:n,renderingMode:r,outputs:i,sections:s,initialArgs:u,code:a}=e,d=Object.keys(e);if(r===void 0||i===void 0||n===void 0||s===void 0||u===void 0)throw new Error(`Malformed config v1. SDK version ${t}; Fields = ${d.join(", ")}`);return{sdkVersion:t??"unknown",renderingMode:r,initialArgs:u,outputs:Object.fromEntries(Object.entries(i).map(([l,m])=>[l,b(m)])),inputsValid:b(n),sections:b(s),initialUiState:void 0,code:a}}else{const{sdkVersion:t}=e,n=Object.keys(e);throw new Error(`Config format not supported: SDK = ${t}; Fields = ${n.join(", ")}`)}}class g{constructor(t,n,r,i,s,u,a){this._renderingMode=t,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=s,this._sections=u,this._title=a}static create(t="Heavy"){return new g(t,void 0,{},{},w(!0),w([]),void 0)}output(t,n,r={}){if(typeof n=="function"){const i=`output#${t}`;return S(i,()=>n(new _)),new g(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[t]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title)}else return new g(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[t]:n},this._inputsValid,this._sections,this._title)}retentiveOutput(t,n){return this.output(t,n,{retentive:!0})}canRun(t){return this.inputsValid(t)}argsValid(t){return typeof t=="function"?(S("inputsValid",()=>t(new _)),new g(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title)):new g(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,t,this._sections,this._title)}inputsValid(t){return this.argsValid(t)}sections(t){return Array.isArray(t)?this.sections(w(t)):typeof t=="function"?(S("sections",()=>t(new _)),new g(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title)):new g(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,t,this._title)}title(t){return S("title",()=>t(new _)),new g(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"})}initialArgs(t){return new g(this._renderingMode,t,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withArgs(t){return new g(this._renderingMode,t,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withUiState(t){return new g(this._renderingMode,this._initialArgs,t,this._outputs,this._inputsValid,this._sections,this._title)}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const t={v3:{sdkVersion:C,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs},sdkVersion:C,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:F(this._inputsValid),sections:F(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,F(r)]))};return bt()?L({sdkVersion:C}):{config:t}}}function Ft(e,t,n){var s,u;const r=e.resultPool.getData().entries.map(a=>a.obj).filter(p.isPColumn).filter(a=>a.spec.name==="pl7.app/label"&&a.spec.axesSpec.length===1),i=[];for(const a of t)for(const d of a.spec.axesSpec){const l=p.getAxisId(d);for(const m of r)p.matchAxisId(l,p.getAxisId(m.spec.axesSpec[0]))&&i.push(m)}return e.createPTable({columns:[...t,...i],filters:(s=n==null?void 0:n.pTableParams)==null?void 0:s.filters,sorting:(u=n==null?void 0:n.pTableParams)==null?void 0:u.sorting})}class Ot{constructor(t){this.handle=t}async findColumns(t){return await platforma.pFrameDriver.findColumns(this.handle,t)}async getColumnSpec(t){return await platforma.pFrameDriver.getColumnSpec(this.handle,t)}async listColumns(){return await platforma.pFrameDriver.listColumns(this.handle)}async calculateTableData(t){return await platforma.pFrameDriver.calculateTableData(this.handle,t)}async getUniqueValues(t){return await platforma.pFrameDriver.getUniqueValues(this.handle,t)}}function N(e){return R({__isRef:!0,blockId:A(e,"blockId"),name:A(e,"name")})}function Pt(e){return R({ref:N(A(e,"ref")),label:A(e,"label")})}const Rt={sdkVersion:C};function It(){return L({sdkVersion:C})}function Dt(e){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(e)}exports.Args=W;exports.BlockModel=g;exports.CurrentSdkInfo=Rt;exports.FutureRef=h;exports.It=q;exports.JsRenderInternal=Ct;exports.MainOutputs=z;exports.OutputError=V;exports.PFrameImpl=Ot;exports.RenderCtx=_;exports.ResourceMapResourcePartitionedTypeName=B;exports.ResourceMapResourceTypeName=M;exports.ResultPool=E;exports.StagingOutputs=Q;exports.TreeNodeAccessor=y;exports.UiState=X;exports.and=it;exports.createPlDataTable=Ft;exports.downgradeCfgOrLambda=F;exports.extractConfig=St;exports.flatten=et;exports.fromPlOption=Pt;exports.fromPlRef=N;exports.getBlobContent=lt;exports.getBlobContentAsJson=dt;exports.getBlobContentAsString=ct;exports.getDownloadedBlobContent=pt;exports.getEnvironmentValue=Dt;exports.getFromCfg=v;exports.getImmediate=w;exports.getImportProgress=ht;exports.getJsonField=A;exports.getLastLogs=ft;exports.getLogHandle=yt;exports.getOnDemandBlobContent=gt;exports.getProgressLog=mt;exports.getRawPlatformaInstance=It;exports.getResourceField=ot;exports.getResourceValueAsJson=at;exports.isConfigLambda=J;exports.isEmpty=nt;exports.isolate=K;exports.makeArray=Y;exports.makeObject=R;exports.mapArrayValues=tt;exports.mapRecordValues=Z;exports.mapResourceFields=ut;exports.not=rt;exports.or=st;exports.parseResourceMap=At;exports.readOutput=k;exports.wrapOutputs=G;Object.keys(p).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>p[e]})});
|
|
1
|
+
"use strict";var ge=Object.defineProperty;var he=(t,e,n)=>e in t?ge(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var v=(t,e,n)=>he(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@milaboratories/pl-model-common"),R=require("zod");class te extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0]),this.errors=e,this.moreErrors=n}}function ne(t){if(!t.ok)throw new te(t.errors,t.moreErrors);return t.value}function me(t){return new Proxy(t,{get(e,n){return ne(e[n])}})}function f(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?C(t):t}function I(t){return{type:"GetFromCtx",variable:t}}function ye(t){return{type:"Isolate",cfg:t}}const be=I("$args"),_e=I("$it"),ve=I("$prod"),we=I("$staging"),Pe=I("$ui");function C(t){return{type:"Immediate",value:t}}function z(t){const e={};for(const[n,r]of Object.entries(t))e[n]=f(r);return{type:"MakeObject",template:e}}function Se(...t){const e=[];for(const n of t)e.push(f(n));return{type:"MakeArray",template:e}}function D(t,e){return{type:"GetJsonField",source:f(t),field:f(e)}}function Ae(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function Re(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function Ie(t){return{type:"Flatten",source:t}}function Te(t){return{type:"IsEmpty",arg:t}}function Oe(t){return{type:"Not",operand:t}}function Ce(t,e){return{type:"And",operand1:t,operand2:e}}function Fe(t,e){return{type:"Or",operand1:t,operand2:e}}function De(t,e){return{type:"GetResourceField",source:f(t),field:f(e)}}function Ee(){return function(t){return{type:"GetResourceValueAsJson",source:f(t)}}}function Le(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function ke(t){return{type:"GetBlobContent",source:f(t)}}function Ve(t){return{type:"GetBlobContentAsString",source:f(t)}}function xe(){return function(t){return{type:"GetBlobContentAsJson",source:f(t)}}}function je(t){return{type:"GetDownloadedBlobContent",source:f(t)}}function Ne(t){return{type:"GetOnDemandBlobContent",source:f(t)}}function Be(t){return{type:"GetImportProgress",source:f(t)}}function Me(t,e){return{type:"GetLastLogs",source:f(t),lines:e}}function Ue(t,e){return{type:"GetProgressLog",source:f(t),patternToSearch:e}}function Je(t){return{type:"GetLogHandle",source:f(t)}}function $e(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function re(t){if(t&&typeof globalThis.getPlatforma=="function")return globalThis.getPlatforma(t);if(typeof globalThis.platforma<"u")return globalThis.platforma;throw new Error("Can't get platforma instance.")}function Ke(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function u(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function k(t,e){const n=Ke();if(n===void 0)return!1;if(t in n.callbackRegistry)throw new Error(`Callback with key ${t} already registered.`);return n.callbackRegistry[t]=e,!0}const $=new Map;function Ge(t,e){t in u().callbackRegistry||(u().callbackRegistry[t]=n=>{for(const r of $.get(t))r(n)},$.set(t,[])),$.get(t).push(e)}class m{constructor(e,n=r=>r){v(this,"isResolved",!1);v(this,"resolvedValue");this.handle=e,this.postProcess=n,Ge(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new m(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new m(this.handle,n=>{const r=this.postProcess(n);return r?e(r):void 0})}toJSON(){return this.isResolved?this.resolvedValue:{__awaited_futures__:[this.handle]}}}function Q(t){return t===void 0?void 0:new P(t)}class P{constructor(e){this.handle=e}resolve(...e){const n=e.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveOutput(...e){const n=e.map(r=>({assertFieldType:"Output",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveInput(...e){const n=e.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveAny(...e){return this.resolveWithCommon({},...e)}resolveWithCommon(e,...n){return Q(u().resolveWithCommon(this.handle,e,...n))}get resourceType(){return u().getResourceType(this.handle)}getInputsLocked(){return u().getInputsLocked(this.handle)}getOutputsLocked(){return u().getOutputsLocked(this.handle)}getIsReadyOrError(){return u().getIsReadyOrError(this.handle)}getIsFinal(){return u().getIsFinal(this.handle)}getError(){return Q(u().getError(this.handle))}listInputFields(){return u().listInputFields(this.handle)}listOutputFields(){return u().listOutputFields(this.handle)}listDynamicFields(){return u().listDynamicFields(this.handle)}getKeyValueBase64(e){return u().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return u().getKeyValueAsString(this.handle,e)}getKeyValueAsJson(e){const n=this.getKeyValueAsString(e);if(n==null)throw new Error("Resource has no content.");return JSON.parse(n)}getDataBase64(){return u().getDataBase64(this.handle)}getDataAsString(){return u().getDataAsString(this.handle)}getDataAsJson(){const e=this.getDataAsString();if(e==null)throw new Error("Resource has no content.");return JSON.parse(e)}getPColumns(e=!1,n=""){const r=this.parsePObjectCollection(e,n);return r===void 0?void 0:Object.entries(r).map(([,i])=>{if(!p.isPColumn(i))throw new Error(`not a PColumn (kind = ${i.spec.kind})`);return i})}parsePObjectCollection(e=!1,n=""){const r=u().parsePObjectCollection(this.handle,e,n);if(r===void 0)return;const s={};for(const[i,o]of Object.entries(r))s[i]=p.mapPObjectData(o,a=>new P(a));return s}getFileContentAsBase64(){return new m(u().getBlobContentAsBase64(this.handle))}getFileContentAsString(){return new m(u().getBlobContentAsString(this.handle))}getFileContentAsJson(){return new m(u().getBlobContentAsString(this.handle)).mapDefined(e=>JSON.parse(e))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new m(u().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new m(u().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}getImportProgress(){return new m(u().getImportProgress(this.handle))}getLastLogs(e){return new m(u().getLastLogs(this.handle,e))}getProgressLog(e){return new m(u().getProgressLog(this.handle,e))}getLogHandle(){return new m(u().getLogHandle(this.handle))}allFieldsResolved(e="Input"){switch(e){case"Input":return this.getInputsLocked()&&this.listInputFields().every(n=>this.resolve({field:n,assertFieldType:"Input"})!==void 0);case"Output":return this.getOutputsLocked()&&this.listOutputFields().every(n=>this.resolve({field:n,assertFieldType:"Output"})!==void 0)}}mapFields(e,n){const{fieldType:r,requireLocked:s,skipUnresolved:i}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},o=e;if(s&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let l=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(c=>[c,this.resolve({field:c,assertFieldType:r})]);return i&&(l=l.filter(c=>c[1]!==void 0)),l.map(([c,g])=>o(c,g))}}const se="staging",ie="main";function oe(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function K(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(oe(n))n.__awaited_futures__.forEach(s=>t.add(s));else if(Array.isArray(n))for(const s of n)K(t,e,s);else for(const[,s]of Object.entries(n))s!==n&&K(t,e,s)}function He(t){const e=new Set;return K(e,new Set,t),e}const We=Object.freeze(Object.defineProperty({__proto__:null,MainAccessorName:ie,StagingAccessorName:se,getAllFutureAwaits:He,isFutureAwait:oe},Symbol.toStringTag,{value:"Module"})),ze="pl7.app/label",qe="pl7.app/trace",Ye=R.z.object({type:R.z.string(),importance:R.z.number().optional(),id:R.z.string().optional(),label:R.z.string()}),Xe=R.z.array(Ye),Qe=.001,Ze="__LABEL__",Z="__LABEL__@1";function et(t,e,n={}){const r=new Map,s=new Map,i=t.map(d=>{var Y,X;const y=e(d),b=(Y=y.annotations)==null?void 0:Y[ze],L=(X=y.annotations)==null?void 0:X[qe],_=(L?Xe.safeParse(JSON.parse(L)).data:void 0)??[];b&&_.splice(0,0,{label:b,type:Ze,importance:-2});const M=[],q=new Map;for(let S=_.length-1;S>=0;--S){const{type:U}=_[S],fe=_[S].importance??0,J=(q.get(U)??0)+1;q.set(U,J);const T=`${U}@${J}`;s.set(T,(s.get(T)??0)+1),r.set(T,Math.max(r.get(T)??Number.NEGATIVE_INFINITY,fe-(_.length-S)*Qe)),M.push({..._[S],fullType:T,occurenceIndex:J})}return M.reverse(),{value:d,spec:y,label:b,fullTrace:M}}),o=[],a=[],l=[...r];l.sort(([,d],[,y])=>y-d);for(const[d]of l)d.endsWith("@1")||s.get(d)===t.length?o.push(d):a.push(d);const c=d=>i.map(y=>{const b=y.fullTrace.filter(_=>d.has(_.fullType)).map(_=>_.label),L=n.separator??" / ";return{label:b.join(L),value:y.value}});if(o.length===0){if(a.length!==0)throw new Error("Assertion error.");return c(new Set(Z))}let g=0,w=0;for(;g<o.length;){const d=new Set;for(let b=0;b<g;++b)d.add(o[b]);d.add(o[w]);const y=c(d);if(new Set(y.map(b=>b.label)).size===t.length)return n.includeNativeLabel?(d.add(Z),c(d)):y;w++,w==o.length&&(g++,w=g)}return c(new Set([...o,...a]))}class ae{constructor(){v(this,"ctx",u());v(this,"defaultLabelFn",(e,n)=>{var r;return((r=e.annotations)==null?void 0:r["pl7.app/label"])??"Unlabelled"})}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=this.getSpecs().entries.filter(s=>e(s.obj));return typeof n=="object"||typeof n>"u"?et(r,s=>s.obj,n??{}).map(({value:{ref:s},label:i})=>({ref:s,label:i})):r.map(s=>({ref:s.ref,label:n(s.obj,s.ref)}))}getDataFromResultPool(){return this.getData()}getData(){const e=this.ctx.getDataFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:new P(n.obj.data)}}))}}getDataWithErrorsFromResultPool(){return this.getDataWithErrors()}getDataWithErrors(){const e=this.ctx.getDataWithErrorsFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:p.mapValueInVOE(n.obj.data,r=>new P(r))}}))}}getSpecsFromResultPool(){return this.getSpecs()}getSpecs(){return this.ctx.getSpecsFromResultPool()}getDataByRef(e){var n;return typeof this.ctx.getDataFromResultPoolByRef>"u"?(n=this.getData().entries.find(r=>r.ref.blockId===e.blockId&&r.ref.name===e.name))==null?void 0:n.obj:p.mapPObjectData(this.ctx.getDataFromResultPoolByRef(e.blockId,e.name),r=>new P(r))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return p.ensurePColumn(n)}getSpecByRef(e){var n;return typeof this.ctx.getSpecFromResultPoolByRef>"u"?(n=this.getSpecs().entries.find(r=>r.ref.blockId===e.blockId&&r.ref.name===e.name))==null?void 0:n.obj:this.ctx.getSpecFromResultPoolByRef(e.blockId,e.name)}findDataWithCompatibleSpec(e){const n=[];e:for(const r of this.getData().entries){if(!p.isPColumnSpec(r.obj.spec))continue;const s=r.obj.spec;if(e.name===s.name&&e.valueType===s.valueType&&e.axesSpec.length===s.axesSpec.length&&G(e.domain,s.domain)){for(let i=0;i<e.axesSpec.length;++i){const o=e.axesSpec[i],a=s.axesSpec[i];if(o.name!==a.name||o.type!==a.type||!G(o.domain,a.domain))continue e}n.push(r.obj)}}return n}}function G(t,e){if(t===void 0)return e===void 0;if(e===void 0)return!0;for(const n in e)if(t[n]!==e[n])return!1;return!0}class O{constructor(){v(this,"ctx");v(this,"args");v(this,"uiState");v(this,"resultPool",new ae);this.ctx=u(),this.args=JSON.parse(this.ctx.args),this.uiState=this.ctx.uiState!==void 0?JSON.parse(this.ctx.uiState):void 0}getNamedAccessor(e){const n=this.ctx.getAccessorHandleByName(e);return n?new P(n):void 0}get prerun(){return this.getNamedAccessor(se)}get precalc(){return this.prerun}get stagingOutput(){return this.precalc}get outputs(){return this.getNamedAccessor(ie)}get mainOutput(){return this.outputs}findLabels(e){const n=this.resultPool.getData();for(const r of n.entries){if(!p.isPColumn(r.obj))continue;const s=r.obj.spec;if(s.name==="pl7.app/label"&&s.axesSpec.length===1&&s.axesSpec[0].name===e.name&&s.axesSpec[0].type===e.type&&G(e.domain,s.axesSpec[0].domain)){if(r.obj.data.resourceType.name!=="PColumnData/Json")throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);return new Map(Object.entries(r.obj.data.getDataAsJson().data).map(o=>[JSON.parse(o[0])[0],o[1]]))}}}createPFrame(e){return this.ctx.createPFrame(e.map(n=>p.mapPObjectData(n,r=>r.handle)))}createPTable(e){var n;return"columns"in e?n={src:{type:"full",entries:e.columns.map(r=>({type:"column",column:r}))},filters:e.filters??[],sorting:e.sorting??[]}:n=e,this.ctx.createPTable(p.mapPTableDef(n,r=>p.mapPObjectData(r,s=>s.handle)))}getBlockLabel(e){return this.ctx.getBlockLabel(e)}getCurrentUnstableMarker(){if(!(typeof this.ctx.getCurrentUnstableMarker>"u"))return this.ctx.getCurrentUnstableMarker()}}const E="PColumnData/",N=E+"ResourceMap",B=E+"Partitioned/ResourceMap",H=E+"JsonPartitioned",V=E+"BinaryPartitioned",le=E+"Partitioned/",W=le+"JsonPartitioned",x=le+"BinaryPartitioned";function ue(t,e,n,r=[],s){if(t===void 0)return!1;switch(t.resourceType.name){case N:{let i=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"}),l=[...r,...JSON.parse(o)],c=a===void 0?void 0:e(a);c===void 0&&(i=!1),(c!==void 0||s)&&n.push({key:l,value:c})}return i}case B:{let i=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)i=!1;else{const l=[...r,...JSON.parse(o)],c=ue(a,e,n,l,s);i=i&&c}}return i}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function tt(t,e,n=!1){const r=[];return{isComplete:ue(t,e,r,[],n),data:r}}const ee=t=>{if(!t.endsWith(".index")){if(t.endsWith(".values"))return t.substring(0,t.length-7);throw Error(`key must ends on .index/.values for binary p-column, got: ${t}`)}};function ce(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let s=0;switch(e){case N:s=n.keyLength;break;case B:s=n.partitionKeyLength+n.keyLength;break;case H:case V:s=n.partitionKeyLength;break;case x:case W:s=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case N:case H:case V:for(let i of t.listInputFields()){if(e===V){const a=ee(i);if(a)i=a;else continue}const o=[...JSON.parse(i)];r.push(o)}break;case B:case x:case W:for(const i of t.listInputFields()){const o=[...JSON.parse(i)],a=t.resolve({field:i,assertFieldType:"Input"});if(a!==void 0)for(let l of a.listInputFields()){if(e===x){const g=ee(l);if(g)l=g;else continue}const c=[...o,...JSON.parse(l)];r.push(c)}}break}return{data:r,keyLength:s}}function nt(t){const e=ce(t);if(!e)return;const{data:n,keyLength:r}=e,s=[];for(let i=0;i<r;++i)s.push(new Set);for(const i of n){if(i.length!==r)throw new Error("key length does not match partition length");for(let o=0;o<r;++o)s[o].add(i[o])}return s.map(i=>Array.from(i.values()))}const F="1.13.0";function de(t){return t.__renderLambda===!0}function j(t){if(t!==void 0)return de(t)?t.handle:t}function A(t){if(t!==void 0)return typeof t=="string"?{__renderLambda:!0,handle:t,retentive:!1}:t}function rt(t){if(t.v3!==void 0){const{initialArgs:e,initialUiState:n,inputsValid:r,outputs:s,renderingMode:i,sdkVersion:o,sections:a,title:l}=t.v3,{code:c}=t;return{initialArgs:e,initialUiState:n,inputsValid:r,outputs:s,renderingMode:i,sdkVersion:o,sections:a,title:l,code:c}}else if(t.inputsValid!==void 0){const{sdkVersion:e,renderingMode:n,outputs:r,inputsValid:s,sections:i,initialArgs:o,code:a}=t,l=Object.keys(t);if(e===void 0||n===void 0||r===void 0||s===void 0||i===void 0||o===void 0)throw new Error(`Malformed config v2. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e,renderingMode:n,initialArgs:o,outputs:Object.fromEntries(Object.entries(r).map(([c,g])=>[c,A(g)])),inputsValid:A(s),sections:A(i),initialUiState:void 0,code:a}}else if(t.renderingMode!==void 0){const{sdkVersion:e,canRun:n,renderingMode:r,outputs:s,sections:i,initialArgs:o,code:a}=t,l=Object.keys(t);if(r===void 0||s===void 0||n===void 0||i===void 0||o===void 0)throw new Error(`Malformed config v1. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e??"unknown",renderingMode:r,initialArgs:o,outputs:Object.fromEntries(Object.entries(s).map(([c,g])=>[c,A(g)])),inputsValid:A(n),sections:A(i),initialUiState:void 0,code:a}}else{const{sdkVersion:e}=t,n=Object.keys(t);throw new Error(`Config format not supported: SDK = ${e}; Fields = ${n.join(", ")}`)}}class h{constructor(e,n,r,s,i,o,a){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=s,this._inputsValid=i,this._sections=o,this._title=a}static create(e="Heavy"){return new h(e,void 0,{},{},C(!0),C([]),void 0)}output(e,n,r={}){if(typeof n=="function"){const s=`output#${e}`;return k(s,()=>n(new O)),new h(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:s,...r}},this._inputsValid,this._sections,this._title)}else return new h(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}canRun(e){return this.inputsValid(e)}argsValid(e){return typeof e=="function"?(k("inputsValid",()=>e(new O)),new h(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title)):new h(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title)}inputsValid(e){return this.argsValid(e)}sections(e){return Array.isArray(e)?this.sections(C(e)):typeof e=="function"?(k("sections",()=>e(new O)),new h(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title)):new h(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title)}title(e){return k("title",()=>e(new O)),new h(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"})}initialArgs(e){return new h(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withArgs(e){return new h(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withUiState(e){return new h(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title)}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const e={v3:{sdkVersion:F,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs},sdkVersion:F,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:j(this._inputsValid),sections:j(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,j(r)]))};return $e()?re({sdkVersion:F}):{config:e}}}function st(t,e,n,r){var o,a;const s=t.resultPool.getData().entries.map(l=>l.obj).filter(p.isPColumn).filter(l=>l.spec.name==="pl7.app/label"&&l.spec.axesSpec.length===1),i=new Map;for(const l of e)for(const c of l.spec.axesSpec){const g=p.getAxisId(c);for(const w of s)p.matchAxisId(g,p.getAxisId(w.spec.axesSpec[0]))&&i.set(w.id,w)}return t.createPTable({src:{type:"outer",primary:{type:"full",entries:e.map(l=>({type:"column",column:l}))},secondary:Array.from(i.values()).map(l=>({type:"column",column:l}))},filters:[...((o=n==null?void 0:n.pTableParams)==null?void 0:o.filters)??[],...r??[]],sorting:((a=n==null?void 0:n.pTableParams)==null?void 0:a.sorting)??[]})}function it(t,e,n){const r=t.findLabels(e);return{axis:p.getAxisId(e),options:n.map(s=>({value:s,label:(r==null?void 0:r.get(s))??s.toString()})),defaultValue:n[0]}}class ot{constructor(e){this.handle=e}async findColumns(e){return await platforma.pFrameDriver.findColumns(this.handle,e)}async getColumnSpec(e){return await platforma.pFrameDriver.getColumnSpec(this.handle,e)}async listColumns(){return await platforma.pFrameDriver.listColumns(this.handle)}async calculateTableData(e){return await platforma.pFrameDriver.calculateTableData(this.handle,e)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function pe(t){return z({__isRef:!0,blockId:D(t,"blockId"),name:D(t,"name")})}function at(t){return z({ref:pe(D(t,"ref")),label:D(t,"label")})}const lt={sdkVersion:F};function ut(){return re({sdkVersion:F})}function ct(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=be;exports.BlockModel=h;exports.CurrentSdkInfo=lt;exports.FutureRef=m;exports.It=_e;exports.JsRenderInternal=We;exports.MainOutputs=ve;exports.OutputError=te;exports.PFrameImpl=ot;exports.RT_BINARY_PARTITIONED=V;exports.RT_BINARY_SUPER_PARTITIONED=x;exports.RT_JSON_PARTITIONED=H;exports.RT_JSON_SUPER_PARTITIONED=W;exports.RT_RESOURCE_MAP=N;exports.RT_RESOURCE_MAP_PARTITIONED=B;exports.RenderCtx=O;exports.ResultPool=ae;exports.StagingOutputs=we;exports.TreeNodeAccessor=P;exports.UiState=Pe;exports.and=Ce;exports.createPlDataTable=st;exports.createPlDataTableSheet=it;exports.downgradeCfgOrLambda=j;exports.extractConfig=rt;exports.flatten=Ie;exports.fromPlOption=at;exports.fromPlRef=pe;exports.getBlobContent=ke;exports.getBlobContentAsJson=xe;exports.getBlobContentAsString=Ve;exports.getDownloadedBlobContent=je;exports.getEnvironmentValue=ct;exports.getFromCfg=I;exports.getImmediate=C;exports.getImportProgress=Be;exports.getJsonField=D;exports.getLastLogs=Me;exports.getLogHandle=Je;exports.getOnDemandBlobContent=Ne;exports.getPartitionKeysList=ce;exports.getProgressLog=Ue;exports.getRawPlatformaInstance=ut;exports.getResourceField=De;exports.getResourceValueAsJson=Ee;exports.getUniquePartitionKeys=nt;exports.isConfigLambda=de;exports.isEmpty=Te;exports.isolate=ye;exports.makeArray=Se;exports.makeObject=z;exports.mapArrayValues=Re;exports.mapRecordValues=Ae;exports.mapResourceFields=Le;exports.not=Oe;exports.or=Fe;exports.parseResourceMap=tt;exports.readOutput=ne;exports.wrapOutputs=me;Object.keys(p).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>p[t]})});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|