@milaboratories/milaboratories.ui-examples.model 1.0.31 → 1.0.33

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/index.cjs CHANGED
@@ -7,10 +7,7 @@ var zod = require('zod');
7
7
  var $BlockArgs = zod.z.object({
8
8
  numbers: zod.z.array(zod.z.coerce.number())
9
9
  });
10
- var platforma = model.BlockModel.create("Heavy").initialArgs({ numbers: [] }).output(
11
- "numbers",
12
- (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()
13
- ).output("pFrame", (ctx) => {
10
+ var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [] }).withUiState({ dataTableState: void 0 }).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pFrame", (ctx) => {
14
11
  const collection = ctx.resultPool.getData();
15
12
  if (collection === void 0 || !collection.isComplete) return void 0;
16
13
  const valueTypes = ["Int", "Long", "Float", "Double", "String", "Bytes"];
@@ -42,8 +39,8 @@ var platforma = model.BlockModel.create("Heavy").initialArgs({ numbers: [] }).ou
42
39
  }
43
40
  }).sections((ctx) => {
44
41
  return [
45
- { type: "link", href: "/", label: "PlLogView" },
46
- { type: "link", href: "/icons", label: "Icons/Masks" },
42
+ { type: "link", href: "/", label: "Icons/Masks" },
43
+ { type: "link", href: "/log-view", label: "PlLogView" },
47
44
  { type: "link", href: "/modals", label: "Modals" },
48
45
  { type: "link", href: "/select-files", label: "Select Files" },
49
46
  { type: "link", href: "/inject-env", label: "Inject env" },
@@ -54,7 +51,8 @@ var platforma = model.BlockModel.create("Heavy").initialArgs({ numbers: [] }).ou
54
51
  { type: "link", href: "/ag-grid-vue", label: "AgGridVue" },
55
52
  { type: "link", href: "/pl-ag-data-table", label: "PlAgDataTable" },
56
53
  { type: "link", href: "/errors", label: "Errors" },
57
- { type: "link", href: "/text-fields", label: "PlTextField" }
54
+ { type: "link", href: "/text-fields", label: "PlTextField" },
55
+ { type: "link", href: "/tabs", label: "PlTabs" }
58
56
  ];
59
57
  }).done();
60
58
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["z","BlockModel","isPColumn","mapJoinEntry"],"mappings":"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","file":"index.cjs","sourcesContent":["import { \n BlockModel, \n InferHrefType, \n InferOutputsType, \n mapJoinEntry, \n PColumnIdAndSpec, \n AxisSpec, \n JoinEntry, \n AxisId, \n PlDataTableState, \n ValueType, \n isPColumn,\n PlDataTableGridState \n} from '@platforma-sdk/model';\nimport {z} from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number())\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n settingsOpened: boolean;\n gridState: PlDataTableGridState;\n group: {\n mainColumn?: PColumnIdAndSpec;\n additionalColumns: PColumnIdAndSpec[];\n enrichmentColumns: PColumnIdAndSpec[];\n possiblePartitioningAxes: AxisSpec[];\n join?: JoinEntry<PColumnIdAndSpec>;\n };\n partitioningAxes: AxisId[];\n tableState: PlDataTableState;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined,\n};\n\nexport const platforma = BlockModel.create<BlockArgs, UiState>('Heavy')\n\n .initialArgs({ numbers: [] })\n\n .output('numbers', (ctx) =>\n ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>()\n )\n\n .output('pFrame', (ctx) => {\n const collection = ctx.resultPool.getData();\n if (collection === undefined || !collection.isComplete) return undefined;\n\n const valueTypes = ['Int', 'Long', 'Float', 'Double', 'String', 'Bytes'] as ValueType[];\n const columns = collection.entries\n .map(({ obj }) => obj)\n .filter(isPColumn)\n .filter((column) => valueTypes.find((valueType) => valueType === column.spec.valueType));\n\n try {\n return ctx.createPFrame(columns);\n } catch (err) {\n return undefined;\n }\n })\n .output('pTable', (ctx) => {\n const join = ctx.uiState?.dataTableState?.tableState.pTableParams?.join;\n if (!join) return undefined;\n\n const collection = ctx.resultPool.getData();\n if (!collection || !collection.isComplete) return undefined;\n\n const columns = collection.entries.map(({ obj }) => obj).filter(isPColumn);\n if (columns.length === 0) return undefined;\n\n try {\n return ctx.createPTable({\n src: mapJoinEntry(join, (idAndSpec) => {\n const column = columns.find(it => it.id === idAndSpec.columnId);\n if (!column) throw Error(`column '${column}' not ready`);\n return column;\n }),\n filters: ctx.uiState.dataTableState?.tableState.pTableParams?.filters ?? [],\n sorting: ctx.uiState.dataTableState?.tableState.pTableParams?.sorting ?? []\n });\n } catch (err) {\n return undefined;\n }\n })\n\n .sections((ctx) => {\n return [\n { type: 'link', href: '/', label: 'PlLogView' }, \n { type: 'link', href: '/icons', label: 'Icons/Masks' }, \n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["z","BlockModel","isPColumn","mapJoinEntry"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n BlockModel,\n InferHrefType,\n InferOutputsType,\n mapJoinEntry,\n PColumnIdAndSpec,\n AxisSpec,\n JoinEntry,\n AxisId,\n PlDataTableState,\n ValueType,\n isPColumn,\n PlDataTableGridState\n} from '@platforma-sdk/model';\nimport { z } from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number())\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n settingsOpened: boolean;\n gridState: PlDataTableGridState;\n group: {\n mainColumn?: PColumnIdAndSpec;\n additionalColumns: PColumnIdAndSpec[];\n enrichmentColumns: PColumnIdAndSpec[];\n possiblePartitioningAxes: AxisSpec[];\n join?: JoinEntry<PColumnIdAndSpec>;\n };\n partitioningAxes: AxisId[];\n tableState: PlDataTableState;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [] })\n\n .withUiState<UiState>({ dataTableState: undefined })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pFrame', (ctx) => {\n const collection = ctx.resultPool.getData();\n if (collection === undefined || !collection.isComplete) return undefined;\n\n const valueTypes = ['Int', 'Long', 'Float', 'Double', 'String', 'Bytes'] as ValueType[];\n const columns = collection.entries\n .map(({ obj }) => obj)\n .filter(isPColumn)\n .filter((column) => valueTypes.find((valueType) => valueType === column.spec.valueType));\n\n try {\n return ctx.createPFrame(columns);\n } catch (err) {\n return undefined;\n }\n })\n\n .output('pTable', (ctx) => {\n const join = ctx.uiState?.dataTableState?.tableState.pTableParams?.join;\n if (!join) return undefined;\n\n const collection = ctx.resultPool.getData();\n if (!collection || !collection.isComplete) return undefined;\n\n const columns = collection.entries.map(({ obj }) => obj).filter(isPColumn);\n if (columns.length === 0) return undefined;\n\n try {\n return ctx.createPTable({\n src: mapJoinEntry(join, (idAndSpec) => {\n const column = columns.find((it) => it.id === idAndSpec.columnId);\n if (!column) throw Error(`column '${column}' not ready`);\n return column;\n }),\n filters: ctx.uiState.dataTableState?.tableState.pTableParams?.filters ?? [],\n sorting: ctx.uiState.dataTableState?.tableState.pTableParams?.sorting ?? []\n });\n } catch (err) {\n return undefined;\n }\n })\n\n .sections((ctx) => {\n return [\n { type: 'link', href: '/', label: 'Icons/Masks' }, \n { type: 'link', href: '/log-view', label: 'PlLogView' }, \n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
package/dist/index.d.cts CHANGED
@@ -32,7 +32,7 @@ declare const platforma: _platforma_sdk_model.Platforma<{
32
32
  numbers: _platforma_sdk_model.ValueOrErrors<number[] | undefined>;
33
33
  pFrame: _platforma_sdk_model.ValueOrErrors<_platforma_sdk_model.PFrameHandle | undefined>;
34
34
  pTable: _platforma_sdk_model.ValueOrErrors<_platforma_sdk_model.PTableHandle | undefined>;
35
- }, UiState, "/" | "/icons" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/form-components" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields">;
35
+ }, UiState, "/" | "/log-view" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/form-components" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields" | "/tabs">;
36
36
  type BlockOutputs = InferOutputsType<typeof platforma>;
37
37
  type Href = InferHrefType<typeof platforma>;
38
38
 
package/dist/index.d.ts CHANGED
@@ -32,7 +32,7 @@ declare const platforma: _platforma_sdk_model.Platforma<{
32
32
  numbers: _platforma_sdk_model.ValueOrErrors<number[] | undefined>;
33
33
  pFrame: _platforma_sdk_model.ValueOrErrors<_platforma_sdk_model.PFrameHandle | undefined>;
34
34
  pTable: _platforma_sdk_model.ValueOrErrors<_platforma_sdk_model.PTableHandle | undefined>;
35
- }, UiState, "/" | "/icons" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/form-components" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields">;
35
+ }, UiState, "/" | "/log-view" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/form-components" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields" | "/tabs">;
36
36
  type BlockOutputs = InferOutputsType<typeof platforma>;
37
37
  type Href = InferHrefType<typeof platforma>;
38
38
 
package/dist/index.js CHANGED
@@ -5,10 +5,7 @@ import { z } from 'zod';
5
5
  var $BlockArgs = z.object({
6
6
  numbers: z.array(z.coerce.number())
7
7
  });
8
- var platforma = BlockModel.create("Heavy").initialArgs({ numbers: [] }).output(
9
- "numbers",
10
- (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()
11
- ).output("pFrame", (ctx) => {
8
+ var platforma = BlockModel.create("Heavy").withArgs({ numbers: [] }).withUiState({ dataTableState: void 0 }).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pFrame", (ctx) => {
12
9
  const collection = ctx.resultPool.getData();
13
10
  if (collection === void 0 || !collection.isComplete) return void 0;
14
11
  const valueTypes = ["Int", "Long", "Float", "Double", "String", "Bytes"];
@@ -40,8 +37,8 @@ var platforma = BlockModel.create("Heavy").initialArgs({ numbers: [] }).output(
40
37
  }
41
38
  }).sections((ctx) => {
42
39
  return [
43
- { type: "link", href: "/", label: "PlLogView" },
44
- { type: "link", href: "/icons", label: "Icons/Masks" },
40
+ { type: "link", href: "/", label: "Icons/Masks" },
41
+ { type: "link", href: "/log-view", label: "PlLogView" },
45
42
  { type: "link", href: "/modals", label: "Modals" },
46
43
  { type: "link", href: "/select-files", label: "Select Files" },
47
44
  { type: "link", href: "/inject-env", label: "Inject env" },
@@ -52,7 +49,8 @@ var platforma = BlockModel.create("Heavy").initialArgs({ numbers: [] }).output(
52
49
  { type: "link", href: "/ag-grid-vue", label: "AgGridVue" },
53
50
  { type: "link", href: "/pl-ag-data-table", label: "PlAgDataTable" },
54
51
  { type: "link", href: "/errors", label: "Errors" },
55
- { type: "link", href: "/text-fields", label: "PlTextField" }
52
+ { type: "link", href: "/text-fields", label: "PlTextField" },
53
+ { type: "link", href: "/tabs", label: "PlTabs" }
56
54
  ];
57
55
  }).done();
58
56
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { \n BlockModel, \n InferHrefType, \n InferOutputsType, \n mapJoinEntry, \n PColumnIdAndSpec, \n AxisSpec, \n JoinEntry, \n AxisId, \n PlDataTableState, \n ValueType, \n isPColumn,\n PlDataTableGridState \n} from '@platforma-sdk/model';\nimport {z} from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number())\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n settingsOpened: boolean;\n gridState: PlDataTableGridState;\n group: {\n mainColumn?: PColumnIdAndSpec;\n additionalColumns: PColumnIdAndSpec[];\n enrichmentColumns: PColumnIdAndSpec[];\n possiblePartitioningAxes: AxisSpec[];\n join?: JoinEntry<PColumnIdAndSpec>;\n };\n partitioningAxes: AxisId[];\n tableState: PlDataTableState;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined,\n};\n\nexport const platforma = BlockModel.create<BlockArgs, UiState>('Heavy')\n\n .initialArgs({ numbers: [] })\n\n .output('numbers', (ctx) =>\n ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>()\n )\n\n .output('pFrame', (ctx) => {\n const collection = ctx.resultPool.getData();\n if (collection === undefined || !collection.isComplete) return undefined;\n\n const valueTypes = ['Int', 'Long', 'Float', 'Double', 'String', 'Bytes'] as ValueType[];\n const columns = collection.entries\n .map(({ obj }) => obj)\n .filter(isPColumn)\n .filter((column) => valueTypes.find((valueType) => valueType === column.spec.valueType));\n\n try {\n return ctx.createPFrame(columns);\n } catch (err) {\n return undefined;\n }\n })\n .output('pTable', (ctx) => {\n const join = ctx.uiState?.dataTableState?.tableState.pTableParams?.join;\n if (!join) return undefined;\n\n const collection = ctx.resultPool.getData();\n if (!collection || !collection.isComplete) return undefined;\n\n const columns = collection.entries.map(({ obj }) => obj).filter(isPColumn);\n if (columns.length === 0) return undefined;\n\n try {\n return ctx.createPTable({\n src: mapJoinEntry(join, (idAndSpec) => {\n const column = columns.find(it => it.id === idAndSpec.columnId);\n if (!column) throw Error(`column '${column}' not ready`);\n return column;\n }),\n filters: ctx.uiState.dataTableState?.tableState.pTableParams?.filters ?? [],\n sorting: ctx.uiState.dataTableState?.tableState.pTableParams?.sorting ?? []\n });\n } catch (err) {\n return undefined;\n }\n })\n\n .sections((ctx) => {\n return [\n { type: 'link', href: '/', label: 'PlLogView' }, \n { type: 'link', href: '/icons', label: 'Icons/Masks' }, \n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import {\n BlockModel,\n InferHrefType,\n InferOutputsType,\n mapJoinEntry,\n PColumnIdAndSpec,\n AxisSpec,\n JoinEntry,\n AxisId,\n PlDataTableState,\n ValueType,\n isPColumn,\n PlDataTableGridState\n} from '@platforma-sdk/model';\nimport { z } from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number())\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n settingsOpened: boolean;\n gridState: PlDataTableGridState;\n group: {\n mainColumn?: PColumnIdAndSpec;\n additionalColumns: PColumnIdAndSpec[];\n enrichmentColumns: PColumnIdAndSpec[];\n possiblePartitioningAxes: AxisSpec[];\n join?: JoinEntry<PColumnIdAndSpec>;\n };\n partitioningAxes: AxisId[];\n tableState: PlDataTableState;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [] })\n\n .withUiState<UiState>({ dataTableState: undefined })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pFrame', (ctx) => {\n const collection = ctx.resultPool.getData();\n if (collection === undefined || !collection.isComplete) return undefined;\n\n const valueTypes = ['Int', 'Long', 'Float', 'Double', 'String', 'Bytes'] as ValueType[];\n const columns = collection.entries\n .map(({ obj }) => obj)\n .filter(isPColumn)\n .filter((column) => valueTypes.find((valueType) => valueType === column.spec.valueType));\n\n try {\n return ctx.createPFrame(columns);\n } catch (err) {\n return undefined;\n }\n })\n\n .output('pTable', (ctx) => {\n const join = ctx.uiState?.dataTableState?.tableState.pTableParams?.join;\n if (!join) return undefined;\n\n const collection = ctx.resultPool.getData();\n if (!collection || !collection.isComplete) return undefined;\n\n const columns = collection.entries.map(({ obj }) => obj).filter(isPColumn);\n if (columns.length === 0) return undefined;\n\n try {\n return ctx.createPTable({\n src: mapJoinEntry(join, (idAndSpec) => {\n const column = columns.find((it) => it.id === idAndSpec.columnId);\n if (!column) throw Error(`column '${column}' not ready`);\n return column;\n }),\n filters: ctx.uiState.dataTableState?.tableState.pTableParams?.filters ?? [],\n sorting: ctx.uiState.dataTableState?.tableState.pTableParams?.sorting ?? []\n });\n } catch (err) {\n return undefined;\n }\n })\n\n .sections((ctx) => {\n return [\n { type: 'link', href: '/', label: 'Icons/Masks' }, \n { type: 'link', href: '/log-view', label: 'PlLogView' }, \n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}