@milaboratories/milaboratories.ui-examples.model 1.1.20 → 1.1.22
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/.turbo/turbo-build.log +11 -11
- package/CHANGELOG.md +13 -0
- package/dist/bundle.js +112 -99
- package/dist/bundle.js.map +1 -1
- package/dist/index.cjs +14 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/model.json +1 -1
- package/package.json +3 -3
- package/src/index.ts +20 -0
package/dist/index.cjs
CHANGED
|
@@ -7,7 +7,12 @@ 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").withArgs({ numbers: [1, 2, 3, 4] }).withUiState({ dataTableState: void 0, dynamicSections: [] }).
|
|
10
|
+
var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3, 4] }).withUiState({ dataTableState: void 0, dynamicSections: [] }).argsValid((ctx) => {
|
|
11
|
+
if (ctx.args.numbers.length === 5) {
|
|
12
|
+
throw new Error("argsValid: test error");
|
|
13
|
+
}
|
|
14
|
+
return ctx.args.numbers.length > 0;
|
|
15
|
+
}).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pt", (ctx) => {
|
|
11
16
|
if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return void 0;
|
|
12
17
|
return model.createPlDataTable(
|
|
13
18
|
ctx,
|
|
@@ -54,12 +59,20 @@ var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3, 4
|
|
|
54
59
|
]
|
|
55
60
|
}
|
|
56
61
|
);
|
|
62
|
+
}).title((ctx) => {
|
|
63
|
+
if (ctx.args.numbers.length === 5) {
|
|
64
|
+
throw new Error("block title: test error");
|
|
65
|
+
}
|
|
66
|
+
return "Ui Examples";
|
|
57
67
|
}).sections((ctx) => {
|
|
58
68
|
const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({
|
|
59
69
|
type: "link",
|
|
60
70
|
href: `/section?id=${it.id}`,
|
|
61
71
|
label: it.label
|
|
62
72
|
}));
|
|
73
|
+
if (dynamicSections.some((it) => it.label === "Error")) {
|
|
74
|
+
throw new Error("sections: test error");
|
|
75
|
+
}
|
|
63
76
|
return [
|
|
64
77
|
{ type: "link", href: "/loaders", label: "Loaders" },
|
|
65
78
|
{ type: "link", href: "/", label: "Icons/Masks" },
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["z","BlockModel","createPlDataTable"],"mappings":";;;;;;AAca,IAAA,UAAA,GAAaA,MAAE,MAAO,CAAA;AAAA,EACjC,SAASA,KAAE,CAAA,KAAA,CAAMA,KAAE,CAAA,MAAA,CAAO,QAAQ;AACpC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["z","BlockModel","createPlDataTable"],"mappings":"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","file":"index.cjs","sourcesContent":["import type {\n InferHrefType,\n InferOutputsType,\n PlDataTableState,\n PlTableFiltersModel,\n PColumn,\n PColumnValues,\n PObjectId } from '@platforma-sdk/model';\nimport {\n BlockModel,\n createPlDataTable,\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 tableState: PlDataTableState;\n filterModel: PlTableFiltersModel;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n dynamicSections: {\n id: string;\n label: string;\n }[];\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [1, 2, 3, 4] })\n\n .withUiState<UiState>({ dataTableState: undefined, dynamicSections: [] })\n\n .argsValid((ctx) => {\n if (ctx.args.numbers.length === 5) {\n throw new Error('argsValid: test error');\n }\n\n return ctx.args.numbers.length > 0;\n })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pt', (ctx) => {\n if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return undefined;\n return createPlDataTable(\n ctx,\n [\n {\n id: 'example' as PObjectId,\n spec: {\n kind: 'PColumn',\n valueType: 'String',\n name: 'example',\n annotations: {\n 'pl7.app/label': 'String column',\n 'pl7.app/discreteValues': '[\"up\",\"down\"]',\n },\n axesSpec: [\n {\n type: 'Int',\n name: 'index',\n annotations: {\n 'pl7.app/label': 'Int axis',\n 'pl7.app/discreteValues': '[1,2]',\n },\n },\n {\n type: 'Float',\n name: 'value',\n annotations: {\n 'pl7.app/label': 'Float axis',\n },\n },\n ],\n },\n data: [\n { key: [1, 1.1], val: '1' },\n { key: [2, 2.2], val: '2' },\n ],\n } satisfies PColumn<PColumnValues>,\n ],\n ctx.uiState.dataTableState.tableState,\n {\n filters: [\n ...(ctx.uiState.dataTableState.tableState.pTableParams?.filters ?? []),\n ...(ctx.uiState.dataTableState.filterModel?.filters ?? []),\n ],\n },\n );\n })\n\n .title((ctx) => {\n if (ctx.args.numbers.length === 5) {\n throw new Error('block title: test error');\n }\n\n return 'Ui Examples';\n })\n\n .sections((ctx) => {\n const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({\n type: 'link' as const,\n href: `/section?id=${it.id}` as const,\n label: it.label,\n }));\n\n if (dynamicSections.some((it) => it.label === 'Error')) {\n throw new Error('sections: test error');\n }\n\n return [\n { type: 'link', href: '/loaders', label: 'Loaders' },\n { type: 'link', href: '/', label: 'Icons/Masks' },\n { type: 'link', href: '/layout', label: 'Layout' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\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: '/use-watch-fetch', label: 'useWatchFetch' },\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: '/pl-splash-page', label: 'PlSplashPage' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n { type: 'link', href: '/stacked-bar', label: 'PlChartStackedBar' },\n { type: 'link', href: '/histogram', label: 'PlChartHistogram' },\n { type: 'link', href: '/buttons', label: 'ButtonsPage' },\n { type: 'link', href: '/notifications', label: 'Notifications' },\n { type: 'link', href: '/drafts', label: 'Drafts' },\n ...(dynamicSections.length\n ? [\n { type: 'delimiter' },\n ...dynamicSections,\n { type: 'delimiter' }] as const\n : []),\n {\n type: 'link',\n href: '/add-section',\n appearance: 'add-section',\n label: 'New Dynamic section',\n },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,12 @@ 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").withArgs({ numbers: [1, 2, 3, 4] }).withUiState({ dataTableState: void 0, dynamicSections: [] }).
|
|
8
|
+
var platforma = BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3, 4] }).withUiState({ dataTableState: void 0, dynamicSections: [] }).argsValid((ctx) => {
|
|
9
|
+
if (ctx.args.numbers.length === 5) {
|
|
10
|
+
throw new Error("argsValid: test error");
|
|
11
|
+
}
|
|
12
|
+
return ctx.args.numbers.length > 0;
|
|
13
|
+
}).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pt", (ctx) => {
|
|
9
14
|
if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return void 0;
|
|
10
15
|
return createPlDataTable(
|
|
11
16
|
ctx,
|
|
@@ -52,12 +57,20 @@ var platforma = BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3, 4] }).w
|
|
|
52
57
|
]
|
|
53
58
|
}
|
|
54
59
|
);
|
|
60
|
+
}).title((ctx) => {
|
|
61
|
+
if (ctx.args.numbers.length === 5) {
|
|
62
|
+
throw new Error("block title: test error");
|
|
63
|
+
}
|
|
64
|
+
return "Ui Examples";
|
|
55
65
|
}).sections((ctx) => {
|
|
56
66
|
const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({
|
|
57
67
|
type: "link",
|
|
58
68
|
href: `/section?id=${it.id}`,
|
|
59
69
|
label: it.label
|
|
60
70
|
}));
|
|
71
|
+
if (dynamicSections.some((it) => it.label === "Error")) {
|
|
72
|
+
throw new Error("sections: test error");
|
|
73
|
+
}
|
|
61
74
|
return [
|
|
62
75
|
{ type: "link", href: "/loaders", label: "Loaders" },
|
|
63
76
|
{ type: "link", href: "/", label: "Icons/Masks" },
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;AAca,IAAA,UAAA,GAAa,EAAE,MAAO,CAAA;AAAA,EACjC,SAAS,CAAE,CAAA,KAAA,CAAM,CAAE,CAAA,MAAA,CAAO,QAAQ;AACpC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type {\n InferHrefType,\n InferOutputsType,\n PlDataTableState,\n PlTableFiltersModel,\n PColumn,\n PColumnValues,\n PObjectId } from '@platforma-sdk/model';\nimport {\n BlockModel,\n createPlDataTable,\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 tableState: PlDataTableState;\n filterModel: PlTableFiltersModel;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n dynamicSections: {\n id: string;\n label: string;\n }[];\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [1, 2, 3, 4] })\n\n .withUiState<UiState>({ dataTableState: undefined, dynamicSections: [] })\n\n .argsValid((ctx) => {\n if (ctx.args.numbers.length === 5) {\n throw new Error('argsValid: test error');\n }\n\n return ctx.args.numbers.length > 0;\n })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pt', (ctx) => {\n if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return undefined;\n return createPlDataTable(\n ctx,\n [\n {\n id: 'example' as PObjectId,\n spec: {\n kind: 'PColumn',\n valueType: 'String',\n name: 'example',\n annotations: {\n 'pl7.app/label': 'String column',\n 'pl7.app/discreteValues': '[\"up\",\"down\"]',\n },\n axesSpec: [\n {\n type: 'Int',\n name: 'index',\n annotations: {\n 'pl7.app/label': 'Int axis',\n 'pl7.app/discreteValues': '[1,2]',\n },\n },\n {\n type: 'Float',\n name: 'value',\n annotations: {\n 'pl7.app/label': 'Float axis',\n },\n },\n ],\n },\n data: [\n { key: [1, 1.1], val: '1' },\n { key: [2, 2.2], val: '2' },\n ],\n } satisfies PColumn<PColumnValues>,\n ],\n ctx.uiState.dataTableState.tableState,\n {\n filters: [\n ...(ctx.uiState.dataTableState.tableState.pTableParams?.filters ?? []),\n ...(ctx.uiState.dataTableState.filterModel?.filters ?? []),\n ],\n },\n );\n })\n\n .title((ctx) => {\n if (ctx.args.numbers.length === 5) {\n throw new Error('block title: test error');\n }\n\n return 'Ui Examples';\n })\n\n .sections((ctx) => {\n const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({\n type: 'link' as const,\n href: `/section?id=${it.id}` as const,\n label: it.label,\n }));\n\n if (dynamicSections.some((it) => it.label === 'Error')) {\n throw new Error('sections: test error');\n }\n\n return [\n { type: 'link', href: '/loaders', label: 'Loaders' },\n { type: 'link', href: '/', label: 'Icons/Masks' },\n { type: 'link', href: '/layout', label: 'Layout' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\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: '/use-watch-fetch', label: 'useWatchFetch' },\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: '/pl-splash-page', label: 'PlSplashPage' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n { type: 'link', href: '/stacked-bar', label: 'PlChartStackedBar' },\n { type: 'link', href: '/histogram', label: 'PlChartHistogram' },\n { type: 'link', href: '/buttons', label: 'ButtonsPage' },\n { type: 'link', href: '/notifications', label: 'Notifications' },\n { type: 'link', href: '/drafts', label: 'Drafts' },\n ...(dynamicSections.length\n ? [\n { type: 'delimiter' },\n ...dynamicSections,\n { type: 'delimiter' }] as const\n : []),\n {\n type: 'link',\n href: '/add-section',\n appearance: 'add-section',\n label: 'New Dynamic section',\n },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
|