@pancake-pos/app-cli 2026.1.3 → 2026.1.5
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/cli.js +101 -19
- package/docs/llms-full.txt +257 -12
- package/package.json +2 -2
- package/runtime/frame.js +1 -1
- package/runtime/worker.js +78 -3
- package/runtime/worker.js.map +2 -2
package/dist/cli.js
CHANGED
|
@@ -68,7 +68,13 @@ function pageUrl(value) {
|
|
|
68
68
|
function targets(apiVersion) {
|
|
69
69
|
if (!API_VERSIONS.includes(apiVersion)) return [];
|
|
70
70
|
const locations = [...ACTION_LOCATIONS, "details.block", "before_submit", "after_save"];
|
|
71
|
-
return [
|
|
71
|
+
return [
|
|
72
|
+
"nav.item",
|
|
73
|
+
"app.page",
|
|
74
|
+
...RESOURCES.flatMap((r) => [...locations, "index.column"].map((l) => `${r}.${l}`)),
|
|
75
|
+
...PRINT_RESOURCES.map((r) => `${r}.print-action`),
|
|
76
|
+
...CUSTOMER_LOCATIONS.map((l) => `customer.${l}`)
|
|
77
|
+
];
|
|
72
78
|
}
|
|
73
79
|
function validateManifest(manifest, files) {
|
|
74
80
|
const errors = [];
|
|
@@ -168,11 +174,26 @@ function validateManifest(manifest, files) {
|
|
|
168
174
|
if (e.url !== void 0) add("invalid_field", `${path}.url`, "url ch\u1EC9 d\xF9ng v\u1EDBi render iframe");
|
|
169
175
|
file("module", true);
|
|
170
176
|
} else add("missing_field", `${path}.render`, "render ph\u1EA3i l\xE0 iframe ho\u1EB7c worker");
|
|
177
|
+
} else if (target === "customer.details.block") {
|
|
178
|
+
file("module", true);
|
|
179
|
+
file("should_render", false);
|
|
180
|
+
if (e.conditions !== void 0 && e.conditions !== null) add("invalid_condition", `${path}.conditions`, `\u0110i\u1EC1u ki\u1EC7n kh\xF4ng \xE1p d\u1EE5ng cho ${target}`);
|
|
181
|
+
} else if (target.endsWith(".print-action") && PRINT_RESOURCES.includes(target.slice(0, -".print-action".length))) {
|
|
182
|
+
requiredString(e, "label", 40, path);
|
|
183
|
+
file("module", true);
|
|
184
|
+
} else if (target.endsWith(".index.column") && [...RESOURCES, "customer"].includes(target.slice(0, -".index.column".length))) {
|
|
185
|
+
requiredString(e, "title", 30, path);
|
|
186
|
+
file("module", true);
|
|
187
|
+
if (e.format !== void 0 && !COLUMN_FORMATS.includes(e.format)) add("invalid_field", `${path}.format`, `format ph\u1EA3i l\xE0 ${COLUMN_FORMATS.join(", ")}`);
|
|
188
|
+
if (e.align !== void 0 && !COLUMN_ALIGNS.includes(e.align)) add("invalid_field", `${path}.align`, `align ph\u1EA3i l\xE0 ${COLUMN_ALIGNS.join(", ")}`);
|
|
189
|
+
const width = e.width;
|
|
190
|
+
if (width !== void 0 && !(Number.isInteger(width) && width >= 60 && width <= 400)) add("invalid_field", `${path}.width`, "width t\u1EEB 60 \u0111\u1EBFn 400");
|
|
171
191
|
} else {
|
|
172
192
|
const dot = target.indexOf(".");
|
|
173
193
|
const resource = target.slice(0, dot);
|
|
174
194
|
const location = target.slice(dot + 1);
|
|
175
|
-
|
|
195
|
+
const customer = resource === "customer" && CUSTOMER_LOCATIONS.includes(location);
|
|
196
|
+
if (!RESOURCES.includes(resource) && !customer) return add("unknown_target", `${path}.target`, `Target ${target} kh\xF4ng t\u1ED3n t\u1EA1i`);
|
|
176
197
|
if (ACTION_LOCATIONS.includes(location)) {
|
|
177
198
|
requiredString(e, "label", 40, path);
|
|
178
199
|
optionalString(e, "title", 60, path);
|
|
@@ -209,7 +230,7 @@ function validOrigin(origin) {
|
|
|
209
230
|
return false;
|
|
210
231
|
}
|
|
211
232
|
}
|
|
212
|
-
var API_VERSIONS, RESERVED_DOMAINS, RESOURCES, ACTION_LOCATIONS, DETAIL_LOCATIONS, PRESENTATIONS, METHODS, ACCESS_FIELDS, CONDITION_RESOURCES, UUID, isString, isObject;
|
|
233
|
+
var API_VERSIONS, RESERVED_DOMAINS, RESOURCES, ACTION_LOCATIONS, DETAIL_LOCATIONS, PRESENTATIONS, METHODS, ACCESS_FIELDS, CONDITION_RESOURCES, UUID, CUSTOMER_LOCATIONS, PRINT_RESOURCES, COLUMN_FORMATS, COLUMN_ALIGNS, isString, isObject;
|
|
213
234
|
var init_manifest = __esm({
|
|
214
235
|
"src/manifest.ts"() {
|
|
215
236
|
"use strict";
|
|
@@ -232,6 +253,10 @@ var init_manifest = __esm({
|
|
|
232
253
|
has_customer: ["order"]
|
|
233
254
|
};
|
|
234
255
|
UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
256
|
+
CUSTOMER_LOCATIONS = ["details.block", ...ACTION_LOCATIONS, "index.column"];
|
|
257
|
+
PRINT_RESOURCES = ["order", "purchase", "export", "warehouse_transfer"];
|
|
258
|
+
COLUMN_FORMATS = ["text", "number", "money", "date", "datetime"];
|
|
259
|
+
COLUMN_ALIGNS = ["left", "center", "right"];
|
|
235
260
|
isString = (value) => typeof value === "string";
|
|
236
261
|
isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
237
262
|
}
|
|
@@ -620,7 +645,7 @@ function createSiteHandler(options) {
|
|
|
620
645
|
if (req.method !== "GET" && req.method !== "HEAD") return send(req, res, 405, { ...textHeaders, Allow: "GET, HEAD" }, "Method not allowed");
|
|
621
646
|
const url = new URL(req.url ?? "/", "http://sandbox");
|
|
622
647
|
const path = url.pathname;
|
|
623
|
-
if (path === "/_pos/health") return send(req, res, 200, textHeaders, "ok");
|
|
648
|
+
if (path === "/_pos/health") return send(req, res, 200, options.runtime.version ? { ...textHeaders, "X-Pos-Runtime": options.runtime.version } : textHeaders, "ok");
|
|
624
649
|
if (options.rejectTopLevel && req.headers["sec-fetch-dest"] === "document") {
|
|
625
650
|
return send(req, res, 403, textHeaders, "This app only runs inside Pancake POS");
|
|
626
651
|
}
|
|
@@ -1122,7 +1147,7 @@ var CLI_VERSION;
|
|
|
1122
1147
|
var init_version = __esm({
|
|
1123
1148
|
"src/version.ts"() {
|
|
1124
1149
|
"use strict";
|
|
1125
|
-
CLI_VERSION = true ? "2026.1.
|
|
1150
|
+
CLI_VERSION = true ? "2026.1.5" : JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
1126
1151
|
}
|
|
1127
1152
|
});
|
|
1128
1153
|
|
|
@@ -1223,6 +1248,8 @@ function isSaved(resource, record) {
|
|
|
1223
1248
|
}
|
|
1224
1249
|
function recordRef(resource, record) {
|
|
1225
1250
|
switch (resource) {
|
|
1251
|
+
case "customer":
|
|
1252
|
+
return customerRef(record);
|
|
1226
1253
|
case "order": {
|
|
1227
1254
|
const systemId = orderSystemId(record) ?? 0;
|
|
1228
1255
|
return { id: str(record.custom_id) ?? systemId, system_id: systemId, status: num(record.status), updated_at: str(record.updated_at) };
|
|
@@ -1328,17 +1355,35 @@ function selectionData(resource, records) {
|
|
|
1328
1355
|
function afterSaveInput(resource, record, mode) {
|
|
1329
1356
|
return { resource, mode, record: recordRef(resource, record) };
|
|
1330
1357
|
}
|
|
1358
|
+
function customerRef(record) {
|
|
1359
|
+
const shop = record.shop_customer && typeof record.shop_customer === "object" ? record.shop_customer : {};
|
|
1360
|
+
const id = record.shop_customer ? record.id : record.customer_id ?? record.id;
|
|
1361
|
+
const phones = [shop.phone_numbers, record.phone_numbers].find((list2) => Array.isArray(list2) && list2.length) ?? [];
|
|
1362
|
+
return {
|
|
1363
|
+
id: String(id ?? ""),
|
|
1364
|
+
name: String(record.name ?? shop.name ?? ""),
|
|
1365
|
+
phone_numbers: phones.map(String).slice(0, 20),
|
|
1366
|
+
tags: ids(shop.tags ?? record.tags),
|
|
1367
|
+
level_id: str(shop.level_id ?? record.level_id),
|
|
1368
|
+
assigned_user_id: str(shop.assigned_user_id ?? record.assigned_user_id),
|
|
1369
|
+
updated_at: str(shop.updated_at ?? record.updated_at)
|
|
1370
|
+
};
|
|
1371
|
+
}
|
|
1372
|
+
function customerData(record) {
|
|
1373
|
+
return { resource: "customer", record: customerRef(record) };
|
|
1374
|
+
}
|
|
1331
1375
|
function hideOrderFields(data, hidden) {
|
|
1332
1376
|
if (data.resource !== "order" || !data.draft || !hidden?.length) return data;
|
|
1333
1377
|
const draft = { ...data.draft };
|
|
1334
1378
|
for (const field of hidden) delete draft[field];
|
|
1335
1379
|
return { ...data, draft };
|
|
1336
1380
|
}
|
|
1337
|
-
var RESOURCES2, MAX_SELECTION, num, str, idOf, ids, list, orderPrice, orderSystemId;
|
|
1381
|
+
var RESOURCES2, LIST_RESOURCES, MAX_SELECTION, num, str, idOf, ids, list, orderPrice, orderSystemId;
|
|
1338
1382
|
var init_records = __esm({
|
|
1339
1383
|
"../app-host/src/records.ts"() {
|
|
1340
1384
|
"use strict";
|
|
1341
1385
|
RESOURCES2 = ["order", "product", "purchase", "export", "warehouse_transfer"];
|
|
1386
|
+
LIST_RESOURCES = [...RESOURCES2, "customer"];
|
|
1342
1387
|
MAX_SELECTION = 500;
|
|
1343
1388
|
num = (value, fallback = 0) => typeof value === "number" && Number.isFinite(value) ? value : Number(value) || fallback;
|
|
1344
1389
|
str = (value) => value === void 0 || value === null || value === "" ? null : String(value);
|
|
@@ -1425,6 +1470,36 @@ function example(target, location, resource) {
|
|
|
1425
1470
|
const id = target.replace(/[^a-z0-9]+/g, "-").replace(/-+$/, "").slice(0, 40);
|
|
1426
1471
|
if (target === "nav.item") return '```json\n{ "target": "nav.item", "id": "nav", "label": "Reconciliation", "page": "home" }\n```';
|
|
1427
1472
|
if (target === "app.page") return '```json\n{ "target": "app.page", "id": "home", "title": "Reconciliation", "render": "iframe", "entry": "page/index.html" }\n```';
|
|
1473
|
+
const key = resource === "order" ? "system_id" : "id";
|
|
1474
|
+
if (location === "print-action") {
|
|
1475
|
+
return `\`\`\`json
|
|
1476
|
+
{ "target": "${target}", "id": "erp-slip", "label": "ERP slip", "module": "extensions/erp-slip.ts" }
|
|
1477
|
+
\`\`\`
|
|
1478
|
+
|
|
1479
|
+
\`\`\`ts
|
|
1480
|
+
import { defineExtension } from '@pancake-pos/ui-extensions';
|
|
1481
|
+
|
|
1482
|
+
export default defineExtension('${target}', async ({ records }) => {
|
|
1483
|
+
const pages = records.map((record) => \`<section style="break-after: page"><h2>\${record.id}</h2></section>\`);
|
|
1484
|
+
return { html: \`<style>h2 { font: 600 16px sans-serif }</style>\${pages.join('')}\`, title: 'ERP slips' };
|
|
1485
|
+
});
|
|
1486
|
+
\`\`\``;
|
|
1487
|
+
}
|
|
1488
|
+
if (location === "index.column") {
|
|
1489
|
+
return `\`\`\`json
|
|
1490
|
+
{ "target": "${target}", "id": "erp-code", "title": "ERP code", "module": "extensions/erp-code.ts" }
|
|
1491
|
+
\`\`\`
|
|
1492
|
+
|
|
1493
|
+
\`\`\`ts
|
|
1494
|
+
import { defineExtension } from '@pancake-pos/ui-extensions';
|
|
1495
|
+
|
|
1496
|
+
export default defineExtension('${target}', async ({ records }) => {
|
|
1497
|
+
const values: Record<string, string> = {};
|
|
1498
|
+
for (const record of records) values[record.${key}] = \`ERP-\${record.${key}}\`;
|
|
1499
|
+
return { values };
|
|
1500
|
+
});
|
|
1501
|
+
\`\`\``;
|
|
1502
|
+
}
|
|
1428
1503
|
const manifest = location.endsWith("action") ? `{ "target": "${target}", "id": "${id}", "label": "Do something", "presentation": "headless", "module": "extensions/${id}.ts" }` : `{ "target": "${target}", "id": "${id}", "module": "extensions/${id}.${location === "details.block" ? "tsx" : "ts"}" }`;
|
|
1429
1504
|
const body = location === "before_submit" ? " if (!data.draft) return { ok: true };\n return { ok: true };" : location === "after_save" ? " await pos.api.get(`/shops/${pos.shop.id}/...`);" : location === "details.block" ? ' render(<pos-section heading="\u2026"><pos-text>\u2026</pos-text></pos-section>, document.body);' : " return { message: 'Done' };";
|
|
1430
1505
|
return `\`\`\`json
|
|
@@ -1443,16 +1518,19 @@ function describeTarget(target, all = sections()) {
|
|
|
1443
1518
|
if (!targets(API_VERSION).includes(target)) return null;
|
|
1444
1519
|
const [resource, ...rest] = target.split(".");
|
|
1445
1520
|
const location = target === "nav.item" || target === "app.page" ? target : rest.join(".");
|
|
1446
|
-
const
|
|
1447
|
-
const
|
|
1448
|
-
const
|
|
1449
|
-
const
|
|
1450
|
-
const
|
|
1521
|
+
const plain = target === "nav.item" || target === "app.page";
|
|
1522
|
+
const customer = resource === "customer";
|
|
1523
|
+
const headings = plain ? [target] : customer ? ["`customer.*`", ...location === "details.block" ? [] : [`\`*.${location}\``]] : [`\`*.${location}\``];
|
|
1524
|
+
const docs = all.filter((section) => section.page === "targets" && headings.some((heading) => section.heading === heading || section.heading.startsWith(`${heading} `)));
|
|
1525
|
+
const listData = location === "print-action" || location === "index.column";
|
|
1526
|
+
const data = customer && location.startsWith("details.") ? "CustomerData ({ resource: 'customer', record: CustomerRef })" : DATA[location] ? `${DATA[location]}<'${resource}'>` : target === "app.page" ? "PageData ({ path, query })" : "none (no code)";
|
|
1527
|
+
const result = location === "before_submit" ? "BeforeSubmitResult: `{ ok: true, changes?: { note?, add_tags? } }` or `{ ok: false, message }`" : location === "print-action" ? "PrintResult: `{ html, title? }` (POS strips scripts, then prints)" : location === "index.column" ? `ColumnResult: \`{ values: { [${resource === "order" ? "system_id" : "id"}]: string | number | null } }\`` : location.endsWith("action") ? "headless: `{ message?, refresh? }` or nothing; modal/fullscreen: render, call pos.close()" : "nothing (blocks and pages render themselves)";
|
|
1528
|
+
const types = customer ? [typeBlock("CustomerRef", all)].filter(Boolean) : DATA[location] ? [typeBlock(`${pascal(resource)}Ref`, all), location === "index.action" || location.endsWith("selection-action") || location === "after_save" || listData ? null : typeBlock(`${pascal(resource)}Draft`, all)].filter(Boolean) : [];
|
|
1451
1529
|
return [
|
|
1452
1530
|
`# ${target}`,
|
|
1453
1531
|
`- Context data (\`pos.data\` and the module argument): \`${data}\``,
|
|
1454
1532
|
`- Returns: ${result}`,
|
|
1455
|
-
`- Manifest fields: ${MANIFEST[location] ?? ""}`,
|
|
1533
|
+
`- Manifest fields: ${target === "customer.details.block" ? "`module` (required), `should_render`. No `conditions`." : `${MANIFEST[location] ?? ""}${customer ? " No `conditions` for customer targets." : ""}`}`,
|
|
1456
1534
|
...types.length ? ["", "```ts", ...types, "```"] : [],
|
|
1457
1535
|
"",
|
|
1458
1536
|
"## Example",
|
|
@@ -1476,7 +1554,9 @@ var init_docs = __esm({
|
|
|
1476
1554
|
before_submit: "DetailsData",
|
|
1477
1555
|
"index.action": "IndexData",
|
|
1478
1556
|
"index.selection-action": "SelectionData",
|
|
1479
|
-
after_save: "AfterSaveInput"
|
|
1557
|
+
after_save: "AfterSaveInput",
|
|
1558
|
+
"print-action": "PrintData",
|
|
1559
|
+
"index.column": "ColumnData"
|
|
1480
1560
|
};
|
|
1481
1561
|
MANIFEST = {
|
|
1482
1562
|
"nav.item": "`label` (required, \u2264 30 chars), `page` (required, id of an app.page extension). No module.",
|
|
@@ -1486,7 +1566,9 @@ var init_docs = __esm({
|
|
|
1486
1566
|
"index.selection-action": "Same fields as `*.details.action`.",
|
|
1487
1567
|
"details.block": "`module` (required), `conditions`, `should_render`.",
|
|
1488
1568
|
before_submit: "`module` (required), `timeout_ms` (\u2264 5000), `on_error` (`allow` or `block`).",
|
|
1489
|
-
after_save: "`module` (required)."
|
|
1569
|
+
after_save: "`module` (required).",
|
|
1570
|
+
"print-action": "`label` (required, \u2264 40), `module` (required). For order, purchase, export, warehouse_transfer.",
|
|
1571
|
+
"index.column": "`title` (required, \u2264 30), `module` (required), `format` (`text`, `number`, `money`, `date`, `datetime`), `align` (`left`, `center`, `right`), `width` (60\u2013400)."
|
|
1490
1572
|
};
|
|
1491
1573
|
pascal = (resource) => resource.split("_").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
|
|
1492
1574
|
}
|
|
@@ -1601,7 +1683,7 @@ ${hit.text.slice(0, 4e3)}`).join("\n\n---\n\n") };
|
|
|
1601
1683
|
description: "A realistic pos.data for a target, built from a real record of the shop (the latest one, or record_id), filtered by the app's access.hidden_order_fields and the signed-in user's permissions. Read-only.",
|
|
1602
1684
|
inputSchema: {
|
|
1603
1685
|
type: "object",
|
|
1604
|
-
properties: { target: { type: "string", enum: targets(API_VERSION2).filter((t) => t !== "nav.item") }, record_id: { type: "string", description: "Order system_id as used by the Open API (/orders/{system_id}) or
|
|
1686
|
+
properties: { target: { type: "string", enum: targets(API_VERSION2).filter((t) => t !== "nav.item") }, record_id: { type: "string", description: "Order system_id as used by the Open API (/orders/{system_id}), record UUID or customer id; defaults to the latest record" } },
|
|
1605
1687
|
required: ["target"]
|
|
1606
1688
|
},
|
|
1607
1689
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
@@ -1610,11 +1692,10 @@ ${hit.text.slice(0, 4e3)}`).join("\n\n---\n\n") };
|
|
|
1610
1692
|
if (target === "app.page") return ok({ target, data: { path: "/", query: {} } });
|
|
1611
1693
|
const [resource, ...rest] = target.split(".");
|
|
1612
1694
|
const location = rest.join(".");
|
|
1613
|
-
if (!
|
|
1695
|
+
if (!LIST_RESOURCES.includes(resource) || !targets(API_VERSION2).includes(target)) return fail(`Unknown target ${target}`);
|
|
1614
1696
|
const record = await sampleRecord(resource, args.record_id === void 0 ? void 0 : String(args.record_id));
|
|
1615
1697
|
if (!record) return fail(`The shop has no ${resource} records the signed-in user can read`);
|
|
1616
|
-
const
|
|
1617
|
-
const data = location === "index.action" ? indexData(r, record) : location === "index.selection-action" ? selectionData(r, [record]) : location === "after_save" ? afterSaveInput(r, record, "edit") : detailsData(r, record);
|
|
1698
|
+
const data = location === "index.action" ? indexData(resource, record) : location === "index.selection-action" || location === "print-action" || location === "index.column" ? selectionData(resource, [record]) : resource === "customer" ? customerData(record) : location === "after_save" ? afterSaveInput(resource, record, "edit") : detailsData(resource, record);
|
|
1618
1699
|
const hidden = readManifest(ctx.root).access?.hidden_order_fields;
|
|
1619
1700
|
return ok({ target, data: "draft" in data ? hideOrderFields(data, hidden) : data });
|
|
1620
1701
|
}
|
|
@@ -1800,7 +1881,8 @@ var init_tools = __esm({
|
|
|
1800
1881
|
product: "products",
|
|
1801
1882
|
purchase: "purchases",
|
|
1802
1883
|
export: "export",
|
|
1803
|
-
warehouse_transfer: "transfers"
|
|
1884
|
+
warehouse_transfer: "transfers",
|
|
1885
|
+
customer: "customers"
|
|
1804
1886
|
};
|
|
1805
1887
|
META_PATHS = {
|
|
1806
1888
|
order: { warehouses: "warehouses", tags: "orders/tags", order_sources: "order_source" },
|
package/docs/llms-full.txt
CHANGED
|
@@ -152,7 +152,9 @@ Details: [Data access](/developers/apps/en/data-access).
|
|
|
152
152
|
| Worker UI updates | 60 per second; an extension that exceeds this for 3 seconds in a row is stopped |
|
|
153
153
|
| `should_render` timeout | 300 ms |
|
|
154
154
|
| `before_submit` hook timeout | 2 seconds by default (`timeout_ms`), 5 seconds max |
|
|
155
|
-
| `after_save` hook
|
|
155
|
+
| `after_save` hook, `headless` action and `*.print-action` run time | 30 seconds |
|
|
156
|
+
| `*.index.column` timeout | 5 seconds |
|
|
157
|
+
| `*.print-action` HTML | 2 MB |
|
|
156
158
|
| Open API request rate | Under 30 reads (`GET`) and under 100 writes per second, per app + user + shop + endpoint |
|
|
157
159
|
| App token lifetime | 15 minutes, never beyond the user's login session (renewed by the SDK) |
|
|
158
160
|
| Error log per app | The latest 500 errors, kept for 7 days |
|
|
@@ -169,7 +171,7 @@ Details: [Data access](/developers/apps/en/data-access).
|
|
|
169
171
|
|---|---|
|
|
170
172
|
| PoC | Sandbox, app tokens, order detail block, order action menu item, iframe page, a sample app written by AI |
|
|
171
173
|
| Phase 1 | Upload, versions, rollback, visibility permissions, audit, rate limits, component catalog v1, SDK, CLI |
|
|
172
|
-
| Phase 2 | `before_submit` hook, Worker UI pages (`render: "worker"`),
|
|
174
|
+
| Phase 2 | Available: `before_submit` hook (block saves, set the note and tags), Worker UI pages (`render: "worker"`), app print templates (orders, purchases, exports, transfers), list columns, customer boxes, actions and columns. Not yet: per-app webhooks and service keys, app storage |
|
|
173
175
|
| Phase 3 | Consider the mobile app, install one app across shops of the same owner |
|
|
174
176
|
|
|
175
177
|
---
|
|
@@ -1144,13 +1146,30 @@ Apply to `*.details.block`.
|
|
|
1144
1146
|
| Target | Field | Description |
|
|
1145
1147
|
|---|---|---|
|
|
1146
1148
|
| `app.page` | `title` (required) | Page title. |
|
|
1147
|
-
| `app.page` | `render` (required) | `iframe` or `worker` (Worker UI
|
|
1149
|
+
| `app.page` | `render` (required) | `iframe` or `worker` (Worker UI page, see [app.page](/developers/apps/en/targets#app-page)). |
|
|
1148
1150
|
| `app.page` | `entry` | The page's HTML file in the bundle, with `render: "iframe"`. Declare `entry` **or** `url`. |
|
|
1149
1151
|
| `app.page` | `url` | Self-hosted page: an `https` address on your own server that POS embeds instead of a file in the bundle. No credentials, query or `#`; no Pancake domains, `localhost` or IP addresses. Changing `url` requires a new version. See [Self-hosted pages](/developers/apps/en/runtime-api#self-hosted-pages). |
|
|
1150
1152
|
| `app.page` | `module` | Required when `render: "worker"`. |
|
|
1151
1153
|
| `nav.item` | `label` (required) | Label in the POS menu, up to 30 characters. |
|
|
1152
1154
|
| `nav.item` | `page` (required) | `id` of the `app.page` extension. |
|
|
1153
1155
|
|
|
1156
|
+
### Customer block, print template and list column fields
|
|
1157
|
+
|
|
1158
|
+
| Target | Field | Description |
|
|
1159
|
+
|---|---|---|
|
|
1160
|
+
| `customer.details.block` | `module` (required), `should_render` | As for blocks; no `conditions`. |
|
|
1161
|
+
| `customer.details.action`, `customer.index.action`, `customer.index.selection-action` | As for actions | No `conditions`. |
|
|
1162
|
+
| `customer.index.column` | As for `<resource>.index.column` | `values` is keyed by the customer's `id`. |
|
|
1163
|
+
| `<resource>.print-action` | `label` (required) | Template name in the "Print template" picker, up to 40 characters. |
|
|
1164
|
+
| `<resource>.print-action` | `module` (required) | Module returning `{ html, title? }`. |
|
|
1165
|
+
| `<resource>.index.column` | `title` (required) | Column title, up to 30 characters. |
|
|
1166
|
+
| `<resource>.index.column` | `module` (required) | Module returning `{ values }` keyed by record id (`system_id` for orders, `id` otherwise). |
|
|
1167
|
+
| `<resource>.index.column` | `format` | `text` (default), `number`, `money`, `date`, `datetime`. |
|
|
1168
|
+
| `<resource>.index.column` | `align` | `left`, `center`, `right`. |
|
|
1169
|
+
| `<resource>.index.column` | `width` | Column width in px, 60–400, default 140. |
|
|
1170
|
+
|
|
1171
|
+
See [Extension points](/developers/apps/en/targets#customer) for the context data and return values.
|
|
1172
|
+
|
|
1154
1173
|
### Hook fields
|
|
1155
1174
|
|
|
1156
1175
|
Apply to `*.before_submit` and `*.after_save`.
|
|
@@ -1242,10 +1261,11 @@ Targets attached to a POS record are named `<resource>.<location>`, for example
|
|
|
1242
1261
|
| `<resource>.details.block` | A box inside the detail form | Worker UI |
|
|
1243
1262
|
| `<resource>.before_submit` | Before a record is created/updated on the detail form | hook, headless |
|
|
1244
1263
|
| `<resource>.after_save` | After a record is created/updated on the detail form | hook, headless |
|
|
1264
|
+
| `<resource>.index.column` | A column in the list | hook, headless |
|
|
1265
|
+
| `<resource>.print-action` | A print template in the "Print template" picker (except `product`) | headless, returns HTML |
|
|
1266
|
+
| `customer.<location>` | Customer profile and list: `details.block`, `details.action`, `index.action`, `index.selection-action`, `index.column` | See [`customer.*`](#customer) |
|
|
1245
1267
|
|
|
1246
|
-
`<resource>` is one of `order`, `product`, `purchase`, `export`, `warehouse_transfer`.
|
|
1247
|
-
|
|
1248
|
-
Planned: `order.print-action` (custom print templates), `order.index.column` (custom columns in the order list), `customer.details.block`.
|
|
1268
|
+
`<resource>` is one of `order`, `product`, `purchase`, `export`, `warehouse_transfer`. Products have no `print-action` because they only print barcodes.
|
|
1249
1269
|
|
|
1250
1270
|
## Module convention
|
|
1251
1271
|
|
|
@@ -1327,6 +1347,7 @@ Example `pos.data` in `purchase.details.action`:
|
|
|
1327
1347
|
| `purchase` | `record.id` | `purchase_id`, `purchase_ids` |
|
|
1328
1348
|
| `export` | `record.id` | `export_id`, `export_ids` |
|
|
1329
1349
|
| `warehouse_transfer` | `record.id` | `warehouse_transfer_id`, `warehouse_transfer_ids` |
|
|
1350
|
+
| `customer` | `record.id` | `customer_id`, `customer_ids` |
|
|
1330
1351
|
|
|
1331
1352
|
### Types per resource
|
|
1332
1353
|
|
|
@@ -1484,6 +1505,29 @@ type PageData = {
|
|
|
1484
1505
|
|
|
1485
1506
|
- **Iframe pages:** the URL is synced both ways; when the app changes its internal route the POS URL follows, so reloads, the back button and shared links all work. The page connects to POS through the SDK, see [Runtime API › Iframe pages](/developers/apps/en/runtime-api#iframe-pages).
|
|
1486
1507
|
- **Worker UI pages:** the worker has no history. Change the path with `pos.navigate({ page, path, query })`; POS updates the URL and emits `data-change` with the new `path` and `query` without recreating the worker. The browser back button also emits `data-change`.
|
|
1508
|
+
- Build Worker UI pages with `pos-page`, `pos-tabs`, `pos-filter-bar`, `pos-chart` and the other elements (see [Components](/developers/apps/en/components#worker-ui-pages)). Set the title and primary button on the POS title bar with `pos.page`, as on iframe pages (see [Runtime API › Worker UI pages](/developers/apps/en/runtime-api#worker-ui-pages)).
|
|
1509
|
+
|
|
1510
|
+
```tsx
|
|
1511
|
+
import { render } from 'preact';
|
|
1512
|
+
import { useEffect, useState } from 'preact/hooks';
|
|
1513
|
+
|
|
1514
|
+
function Report() {
|
|
1515
|
+
const [tab, setTab] = useState(pos.data.query.tab || 'day');
|
|
1516
|
+
useEffect(() => pos.on('data-change', (data) => setTab(data.query.tab || 'day')), []);
|
|
1517
|
+
return (
|
|
1518
|
+
<pos-page heading="Revenue" width="full">
|
|
1519
|
+
<pos-tabs tabs={[{ id: 'day', label: 'By day' }, { id: 'source', label: 'By source' }]} selected={tab} onChange={(e) => pos.navigate({ page: 'report', query: { tab: e.detail } })}>
|
|
1520
|
+
<pos-chart type={tab == 'day' ? 'line' : 'pie'} xKey="label" data={[{ label: '01/10', revenue: 12500000 }]} series={[{ key: 'revenue', label: 'Revenue', format: 'money' }]} />
|
|
1521
|
+
</pos-tabs>
|
|
1522
|
+
</pos-page>
|
|
1523
|
+
);
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
export default function () {
|
|
1527
|
+
pos.page?.setTitle('Revenue report');
|
|
1528
|
+
render(<Report />, document.body);
|
|
1529
|
+
}
|
|
1530
|
+
```
|
|
1487
1531
|
|
|
1488
1532
|
## `*.details.action`
|
|
1489
1533
|
|
|
@@ -1586,19 +1630,148 @@ Runs before a record is created or updated **on its detail form in POS web**.
|
|
|
1586
1630
|
type BeforeSubmitInput<R extends Resource> = DetailsData<R>;
|
|
1587
1631
|
|
|
1588
1632
|
type BeforeSubmitResult =
|
|
1589
|
-
| { ok: true }
|
|
1633
|
+
| { ok: true; changes?: BeforeSubmitChanges }
|
|
1590
1634
|
| { ok: false; message: string }; // message up to 200 characters, shown to the user
|
|
1635
|
+
|
|
1636
|
+
type BeforeSubmitChanges = {
|
|
1637
|
+
note?: string; // replaces the note, up to 2,000 characters
|
|
1638
|
+
add_tags?: (number | string)[]; // adds tags by the shop's tag ids, up to 20
|
|
1639
|
+
};
|
|
1591
1640
|
```
|
|
1592
1641
|
|
|
1593
1642
|
- Hooks from several apps run in parallel. If any hook returns `ok: false`, the record is not saved; POS shows every `message`.
|
|
1594
1643
|
- When `timeout_ms` is exceeded or the module fails, `on_error` decides (`allow` saves, `block` stops the save).
|
|
1595
|
-
-
|
|
1644
|
+
- `changes` can only set the note and add tags. POS applies them to the form before saving and tells the user which app changed the record.
|
|
1645
|
+
|
|
1646
|
+
| Resource | `note` | `add_tags` |
|
|
1647
|
+
|---|---|---|
|
|
1648
|
+
| `order` | Order note | Order tags, following the shop's tag groups as when picked by hand |
|
|
1649
|
+
| `purchase`, `export` | Note | Tags |
|
|
1650
|
+
| `warehouse_transfer` | Note | Not available |
|
|
1651
|
+
| `product` | Not available | Product tags |
|
|
1652
|
+
|
|
1653
|
+
- Fields the resource does not have are ignored. Tag ids the shop does not have, or that are already set, are ignored. Get tag ids from the Open API or the MCP `list_shop_meta` tool.
|
|
1654
|
+
- If two apps return different `note` values, POS stops the save and reports the conflict. Tags from several apps are combined.
|
|
1655
|
+
- An invalid `changes` value is handled like a failing module (by `on_error`).
|
|
1656
|
+
|
|
1657
|
+
```ts
|
|
1658
|
+
export default defineExtension('order.before_submit', async (data) => {
|
|
1659
|
+
if (data.draft.total_price < 20_000_000) return { ok: true };
|
|
1660
|
+
return { ok: true, changes: { add_tags: [12], note: `${data.draft.note ?? ''}\nLarge order: check before shipping`.trim() } };
|
|
1661
|
+
});
|
|
1662
|
+
```
|
|
1596
1663
|
|
|
1597
1664
|
|
|
1598
1665
|
### When hooks run
|
|
1599
1666
|
|
|
1600
1667
|
`*.before_submit` and `*.after_save` only run when the user saves on the detail form in POS web. They do **not** run for changes made elsewhere: the status menu on list rows, bulk updates, Excel import, the Open API, the mobile app or marketplace sync. Rules that must always hold belong on the server.
|
|
1601
1668
|
|
|
1669
|
+
## `customer.*`
|
|
1670
|
+
|
|
1671
|
+
Customers have boxes, actions and columns like the other resources, but **no** `before_submit`, `after_save` (the profile saves each field as soon as it changes; there is no shared Save button) and no print templates.
|
|
1672
|
+
|
|
1673
|
+
| Target | Location | Context data |
|
|
1674
|
+
|---|---|---|
|
|
1675
|
+
| `customer.details.block` | A box in the customer profile, right column below Notes and Addresses | `CustomerData` |
|
|
1676
|
+
| `customer.details.action` | An "Apps" button at the top of the customer profile, shown only when an app adds an action here | `CustomerData` |
|
|
1677
|
+
| `customer.index.action` | The "⋯" menu at the end of each customer list row, shown only when an app adds an action here | `IndexData<'customer'>` |
|
|
1678
|
+
| `customer.index.selection-action` | An "Apps" button on the action bar when several customers are selected | `SelectionData<'customer'>` |
|
|
1679
|
+
| `customer.index.column` | A column in the customer list; `values` is keyed by the customer's `id` | `ColumnData<'customer'>` |
|
|
1680
|
+
|
|
1681
|
+
The profile has the box and the actions wherever it opens: the Customers page, the order form and other screens. When the customer list is filtered to deleted customers, app actions and columns are hidden.
|
|
1682
|
+
|
|
1683
|
+
```ts
|
|
1684
|
+
type CustomerRef = {
|
|
1685
|
+
id: string; // use with the Open API: /shops/{shop_id}/customers/{id}
|
|
1686
|
+
name: string;
|
|
1687
|
+
phone_numbers: string[];
|
|
1688
|
+
tags: (number | string)[];
|
|
1689
|
+
level_id: string | null;
|
|
1690
|
+
assigned_user_id: string | null;
|
|
1691
|
+
updated_at: string | null;
|
|
1692
|
+
};
|
|
1693
|
+
|
|
1694
|
+
type CustomerData = { resource: 'customer'; record: CustomerRef }; // same shape as IndexData<'customer'>
|
|
1695
|
+
```
|
|
1696
|
+
|
|
1697
|
+
- Manifest: the same fields as the target at the same location for other resources (`*.details.action`, `*.details.block`, `*.index.column`…). Customer targets have **no** `conditions`; use `should_render` to hide by data.
|
|
1698
|
+
- `refresh` of a headless action and `pos.refresh()` reload the customer list page being viewed; a profile opened from the list gets the new data. A profile opened from the order form or other screens does not reload yet.
|
|
1699
|
+
- `navigate` adds `customer_id` or `customer_ids` to the query.
|
|
1700
|
+
- When the customer is edited in the profile, the box receives `data-change` with the new data.
|
|
1701
|
+
- As with `*.details.block`, the box's worker starts when the box scrolls into view; POS shows a placeholder meanwhile.
|
|
1702
|
+
|
|
1703
|
+
## `*.print-action`
|
|
1704
|
+
|
|
1705
|
+
The app's print template in the "Print template" picker; users pick it like any other template. The module returns HTML, POS cleans it and opens the browser's print dialog.
|
|
1706
|
+
|
|
1707
|
+
| Resource | "Print template" picker |
|
|
1708
|
+
|---|---|
|
|
1709
|
+
| `order` | Action menu of the order form (print on save, Print F4) and the print dialog of the bulk action bar |
|
|
1710
|
+
| `purchase`, `export`, `warehouse_transfer` | The Print button on the bulk action bar |
|
|
1711
|
+
|
|
1712
|
+
Products only print barcodes, so they have no such target.
|
|
1713
|
+
|
|
1714
|
+
```ts
|
|
1715
|
+
type PrintResource = 'order' | 'purchase' | 'export' | 'warehouse_transfer';
|
|
1716
|
+
type PrintData<R extends PrintResource> = { resource: R; records: RefOf<R>[] }; // 1–500 records
|
|
1717
|
+
type PrintResult = { html: string; title?: string }; // html up to 2 MB
|
|
1718
|
+
```
|
|
1719
|
+
|
|
1720
|
+
| Manifest | Description |
|
|
1721
|
+
|---|---|
|
|
1722
|
+
| `label` | Template name, up to 40 characters |
|
|
1723
|
+
| `module` | Module returning `PrintResult` |
|
|
1724
|
+
|
|
1725
|
+
- Runs like a headless action: up to 30 seconds, may use `pos.api` and `pos.toast`. On errors or an invalid result POS reports that printing failed and writes the app's error log.
|
|
1726
|
+
- Records outside the app's `access` limits are not sent to the module. Printing with an app template does not increase the order's print count.
|
|
1727
|
+
- The context data only has ids and summary fields (`RefOf<R>`); fetch lines, customers or amounts from the Open API by record id.
|
|
1728
|
+
- **The HTML is cleaned before printing:** `script`, event attributes (`onclick`…), `iframe`, `form`, `link` and `meta` are removed, and the print runs in an iframe without scripts. Use `<style>` or `style="…"` for layout, `@page` for the paper size and `break-after: page` for page breaks.
|
|
1729
|
+
- **Images** follow the `pos-image` rules: `data:image/…;base64,…`, `public/<file name>` in the bundle, or an `https://` URL in `network.allowed_origins`. Other images, fonts and external CSS are blocked. Draw barcodes and QR codes as SVG or `data:` images.
|
|
1730
|
+
|
|
1731
|
+
```ts
|
|
1732
|
+
export default defineExtension('purchase.print-action', async ({ records }) => {
|
|
1733
|
+
const details = await Promise.all(records.map((purchase) => pos.api.get(`/shops/${pos.shop.id}/purchases/${purchase.id}`)));
|
|
1734
|
+
const pages = details.map(({ data }) => `<section class="slip"><h1>Purchase ${data.display_id}</h1><p>${data.items.length} lines</p></section>`);
|
|
1735
|
+
return {
|
|
1736
|
+
title: 'ERP purchase slips',
|
|
1737
|
+
html: `<style>@page { size: A5; margin: 8mm } .slip { break-after: page }</style>${pages.join('')}`,
|
|
1738
|
+
};
|
|
1739
|
+
});
|
|
1740
|
+
```
|
|
1741
|
+
|
|
1742
|
+
## `*.index.column`
|
|
1743
|
+
|
|
1744
|
+
The app's column in a list, placed before the fixed right column (Status) or at the end of the table. Available for all 5 resources. POS calls the module **once for the records shown** on the page, not once per row.
|
|
1745
|
+
|
|
1746
|
+
```ts
|
|
1747
|
+
type ColumnData<R extends Resource> = { resource: R; records: RefOf<R>[] }; // records on the page, up to 500
|
|
1748
|
+
type ColumnResult = { values: Record<string, string | number | null> }; // keyed by record id
|
|
1749
|
+
```
|
|
1750
|
+
|
|
1751
|
+
`values` is keyed by the id used with the Open API (see [Record id](#record-id)): `system_id` for orders, `id` for the other resources.
|
|
1752
|
+
|
|
1753
|
+
| Manifest | Description |
|
|
1754
|
+
|---|---|
|
|
1755
|
+
| `title` | Column title, up to 30 characters |
|
|
1756
|
+
| `module` | Module returning `ColumnResult` |
|
|
1757
|
+
| `format` | `text` (default), `number`, `money`, `date`, `datetime` |
|
|
1758
|
+
| `align` | `left`, `center`, `right` |
|
|
1759
|
+
| `width` | Width in px, 60–400, default 140 |
|
|
1760
|
+
|
|
1761
|
+
- Runs like a hook: 5-second timeout, only `pos.api` is available. Batch Open API calls with `Promise.all` or use list endpoints.
|
|
1762
|
+
- Results are remembered per record and update time: when the list reloads (page change, socket updates) the module only runs for new or changed records.
|
|
1763
|
+
- Records missing from `values`, records outside the `access` limits and failed runs leave the cell empty. Strings longer than 200 characters are cut.
|
|
1764
|
+
- App columns are always shown; they are not part of the list's column settings yet.
|
|
1765
|
+
|
|
1766
|
+
```ts
|
|
1767
|
+
export default defineExtension('order.index.column', async ({ records }) => {
|
|
1768
|
+
const ids = records.map((order) => order.system_id).join(',');
|
|
1769
|
+
const response = await fetch(`https://erp.example.com/pos-orders?ids=${ids}`);
|
|
1770
|
+
const erp: Record<string, string> = await response.json();
|
|
1771
|
+
return { values: erp };
|
|
1772
|
+
});
|
|
1773
|
+
```
|
|
1774
|
+
|
|
1602
1775
|
---
|
|
1603
1776
|
|
|
1604
1777
|
Source: https://pos.pages.fm/developers/apps/components.md
|
|
@@ -1901,9 +2074,69 @@ Slot `footer` for the dialog buttons. The `onClose` event fires when the user cl
|
|
|
1901
2074
|
|
|
1902
2075
|
Actions with `presentation: "modal"` already get a POS modal; do not wrap them in `pos-modal`.
|
|
1903
2076
|
|
|
1904
|
-
##
|
|
2077
|
+
## Worker UI pages
|
|
2078
|
+
|
|
2079
|
+
The four elements below build `render: "worker"` pages (see [Extension points › app.page](/developers/apps/en/targets#app-page)); they also work in blocks and modals.
|
|
2080
|
+
|
|
2081
|
+
### pos-page
|
|
2082
|
+
|
|
2083
|
+
Page frame: heading, description, action buttons and content stacked vertically. The title bar at the top still belongs to POS (set it with `pos.page.setTitle`).
|
|
2084
|
+
|
|
2085
|
+
| Property | Type | Default | Description |
|
|
2086
|
+
|---|---|---|---|
|
|
2087
|
+
| `heading` | `string` | | Heading inside the page |
|
|
2088
|
+
| `description` | `string` | | Text below the heading |
|
|
2089
|
+
| `width` | `'narrow' \| 'default' \| 'full'` | `'default'` | Content width: 720 px, 1,200 px or the full screen |
|
|
2090
|
+
|
|
2091
|
+
Slot `actions` for `pos-button` and `pos-link` at the right of the heading.
|
|
2092
|
+
|
|
2093
|
+
### pos-tabs
|
|
1905
2094
|
|
|
1906
|
-
|
|
2095
|
+
A tab bar. The app keeps the selected tab and renders that tab's content as children.
|
|
2096
|
+
|
|
2097
|
+
| Property | Type | Description |
|
|
2098
|
+
|---|---|---|
|
|
2099
|
+
| `tabs` | `{ id: string; label: string; badge?: number; disabled?: boolean }[]` | Up to 20 tabs; `badge` is a count next to the label |
|
|
2100
|
+
| `selected` | `string` | `id` of the selected tab |
|
|
2101
|
+
|
|
2102
|
+
The `onChange` event: `event.detail` is the selected tab's `id`. POS switches the tab as soon as it is clicked, without waiting for the app.
|
|
2103
|
+
|
|
2104
|
+
### pos-filter-bar
|
|
2105
|
+
|
|
2106
|
+
A row of filters above a table or chart. Children: `pos-text-field`, `pos-number-field`, `pos-select`, `pos-checkbox`, `pos-date-picker`, `pos-button`. Inputs are drawn compactly on one row, `label` becomes the hint when there is no `placeholder`, and the row wraps when space runs out.
|
|
2107
|
+
|
|
2108
|
+
```tsx
|
|
2109
|
+
<pos-filter-bar>
|
|
2110
|
+
<pos-text-field label="Order code" value={search} onChange={(e) => setSearch(e.detail)} />
|
|
2111
|
+
<pos-select label="Order source" options={sources} value={source} onChange={(e) => setSource(e.detail)} />
|
|
2112
|
+
<pos-date-picker label="From" value={from} onChange={(e) => setFrom(e.detail)} />
|
|
2113
|
+
<pos-button onClick={reset}>Reset</pos-button>
|
|
2114
|
+
</pos-filter-bar>
|
|
2115
|
+
```
|
|
2116
|
+
|
|
2117
|
+
### pos-chart
|
|
2118
|
+
|
|
2119
|
+
A chart drawn by POS; the app only passes data. Colors follow the POS palette.
|
|
2120
|
+
|
|
2121
|
+
| Property | Type | Default | Description |
|
|
2122
|
+
|---|---|---|---|
|
|
2123
|
+
| `type` | `'line' \| 'bar' \| 'area' \| 'pie'` | `'line'` | Chart type |
|
|
2124
|
+
| `data` | `object[]` | `[]` | One object per point, string or number values; up to 500 points and 21 fields |
|
|
2125
|
+
| `xKey` | `string` | | Field for the horizontal axis (slice names for `pie`) |
|
|
2126
|
+
| `series` | `{ key: string; label: string; format?: 'number' \| 'money' }[]` | `[]` | Up to 10 series; `pie` uses the first one |
|
|
2127
|
+
| `stacked` | `boolean` | `false` | Stack bars/areas |
|
|
2128
|
+
| `height` | `number` | `300` | 120–600 px |
|
|
2129
|
+
| `loading` | `boolean` | `false` | |
|
|
2130
|
+
| `emptyText` | `string` | | Text when there is no data |
|
|
2131
|
+
|
|
2132
|
+
```tsx
|
|
2133
|
+
<pos-chart
|
|
2134
|
+
type="bar"
|
|
2135
|
+
xKey="day"
|
|
2136
|
+
data={[{ day: '01/10', revenue: 12500000, cost: 8000000 }, { day: '02/10', revenue: 9800000, cost: 7100000 }]}
|
|
2137
|
+
series={[{ key: 'revenue', label: 'Revenue', format: 'money' }, { key: 'cost', label: 'Cost', format: 'money' }]}
|
|
2138
|
+
/>
|
|
2139
|
+
```
|
|
1907
2140
|
|
|
1908
2141
|
---
|
|
1909
2142
|
|
|
@@ -1956,7 +2189,7 @@ interface Pos {
|
|
|
1956
2189
|
| `refresh` | ✓ | ✓ | ✓ | | |
|
|
1957
2190
|
| `close` | | | ✓ | | |
|
|
1958
2191
|
| `on('data-change')` | ✓ | | ✓ | | ✓ |
|
|
1959
|
-
| `page
|
|
2192
|
+
| `page.*`, `on('primary-action')` | | | | | ✓ |
|
|
1960
2193
|
|
|
1961
2194
|
Calling an API outside its availability throws `PosRuntimeError` with `code: 'unavailable'`.
|
|
1962
2195
|
|
|
@@ -2097,7 +2330,19 @@ off(); // unsubscribe
|
|
|
2097
2330
|
| Event | Fires when | Payload |
|
|
2098
2331
|
|---|---|---|
|
|
2099
2332
|
| `data-change` | Context data changes, for example the user edits a detail form (batched over 300 ms) or a page's path changes | the new `pos.data` |
|
|
2100
|
-
| `primary-action` | The user clicks the
|
|
2333
|
+
| `primary-action` | The user clicks the page's primary button (iframe or Worker UI) | none |
|
|
2334
|
+
|
|
2335
|
+
## Worker UI pages
|
|
2336
|
+
|
|
2337
|
+
A `render: "worker"` page runs in a worker like a block: it uses the global `pos` and `pos-*` elements (see [Components › Worker UI pages](/developers/apps/en/components#worker-ui-pages)). `pos.page` is available on Worker UI pages as on iframe pages:
|
|
2338
|
+
|
|
2339
|
+
```ts
|
|
2340
|
+
pos.page.setTitle('Reconciliation 12/05');
|
|
2341
|
+
pos.page.setPrimaryAction({ label: 'Export Excel', loading: false });
|
|
2342
|
+
pos.on('primary-action', exportExcel);
|
|
2343
|
+
```
|
|
2344
|
+
|
|
2345
|
+
In TypeScript `pos.page` is optional because only pages have it; in a page module use `pos.page!` or `(pos as PosPage).page`.
|
|
2101
2346
|
|
|
2102
2347
|
## Iframe pages
|
|
2103
2348
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pancake-pos/app-cli",
|
|
3
|
-
"version": "2026.1.
|
|
3
|
+
"version": "2026.1.5",
|
|
4
4
|
"description": "pos-app command for Pancake POS apps: login, dev, check, build, deploy, versions and an MCP server for AI tools",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -24,6 +24,6 @@
|
|
|
24
24
|
"esbuild": "^0.28.2",
|
|
25
25
|
"eslint": "^10.12.0",
|
|
26
26
|
"fflate": "^0.8.3",
|
|
27
|
-
"@pancake-pos/eslint-plugin": "2026.1.
|
|
27
|
+
"@pancake-pos/eslint-plugin": "2026.1.5"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/runtime/frame.js
CHANGED
|
@@ -37,5 +37,5 @@ window.addEventListener("message", (event) => {
|
|
|
37
37
|
else if (data?.t === "kill") kill(data.instance);
|
|
38
38
|
};
|
|
39
39
|
});
|
|
40
|
-
window.parent.postMessage({ t: "frame-ready", protocol: PROTOCOL_VERSION, runtime: "2026.1.
|
|
40
|
+
window.parent.postMessage({ t: "frame-ready", protocol: PROTOCOL_VERSION, runtime: "2026.1.5" }, "*");
|
|
41
41
|
//# sourceMappingURL=frame.js.map
|
package/runtime/worker.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// ../packages/app-protocol/src/protocol.ts
|
|
2
2
|
var PROTOCOL_VERSION = 1;
|
|
3
3
|
var ROOT_NODE_ID = 0;
|
|
4
|
+
function hostEvents(context) {
|
|
5
|
+
return context === "page" ? ["primary-action"] : [];
|
|
6
|
+
}
|
|
4
7
|
function extensionContext(kind, target) {
|
|
5
8
|
if (kind === "hook") return "hook";
|
|
6
9
|
if (kind === "headless") return "action-headless";
|
|
@@ -117,6 +120,23 @@ var pos_button_default = defineElement("pos-button", {
|
|
|
117
120
|
methods: ["focus", "scrollIntoView"]
|
|
118
121
|
});
|
|
119
122
|
|
|
123
|
+
// ../schema/2026-01/pos-chart.ts
|
|
124
|
+
var KEY = t.string({ max: 100 });
|
|
125
|
+
var POINT = t.record(t.union(t.string({ max: 200 }), t.number(), t.null()), { maxKeys: 21 });
|
|
126
|
+
var pos_chart_default = defineElement("pos-chart", {
|
|
127
|
+
props: {
|
|
128
|
+
type: t.enum("line", "bar", "area", "pie"),
|
|
129
|
+
data: t.array(POINT, { max: 500 }),
|
|
130
|
+
xKey: KEY,
|
|
131
|
+
series: t.array(t.object({ key: KEY, label: t.string({ max: 100 }), format: t.enum("number", "money") }, ["key", "label"]), { max: 10 }),
|
|
132
|
+
stacked: t.boolean(),
|
|
133
|
+
height: t.int({ min: 120, max: 600 }),
|
|
134
|
+
loading: t.boolean(),
|
|
135
|
+
emptyText: t.string({ max: 200 })
|
|
136
|
+
},
|
|
137
|
+
defaults: { type: "line", height: 300, stacked: false, loading: false }
|
|
138
|
+
});
|
|
139
|
+
|
|
120
140
|
// ../schema/2026-01/pos-checkbox.ts
|
|
121
141
|
var pos_checkbox_default = defineElement("pos-checkbox", {
|
|
122
142
|
props: { ...FIELD_PROPS, checked: t.boolean() },
|
|
@@ -137,6 +157,11 @@ var pos_date_picker_default = defineElement("pos-date-picker", {
|
|
|
137
157
|
// ../schema/2026-01/pos-divider.ts
|
|
138
158
|
var pos_divider_default = defineElement("pos-divider");
|
|
139
159
|
|
|
160
|
+
// ../schema/2026-01/pos-filter-bar.ts
|
|
161
|
+
var pos_filter_bar_default = defineElement("pos-filter-bar", {
|
|
162
|
+
children: { elements: ["pos-text-field", "pos-number-field", "pos-select", "pos-checkbox", "pos-date-picker", "pos-button"] }
|
|
163
|
+
});
|
|
164
|
+
|
|
140
165
|
// ../schema/2026-01/pos-grid.ts
|
|
141
166
|
var pos_grid_default = defineElement("pos-grid", {
|
|
142
167
|
props: { columns: t.int({ min: 1, max: 6 }), gap: GAP },
|
|
@@ -202,6 +227,18 @@ var pos_number_field_default = defineElement("pos-number-field", {
|
|
|
202
227
|
methods: FIELD_METHODS
|
|
203
228
|
});
|
|
204
229
|
|
|
230
|
+
// ../schema/2026-01/pos-page.ts
|
|
231
|
+
var pos_page_default = defineElement("pos-page", {
|
|
232
|
+
props: {
|
|
233
|
+
heading: t.string({ max: 200 }),
|
|
234
|
+
description: t.string({ max: 500 }),
|
|
235
|
+
width: t.enum("narrow", "default", "full")
|
|
236
|
+
},
|
|
237
|
+
defaults: { width: "default" },
|
|
238
|
+
children: { elements: "any" },
|
|
239
|
+
slots: { actions: ["pos-button", "pos-link"] }
|
|
240
|
+
});
|
|
241
|
+
|
|
205
242
|
// ../schema/2026-01/pos-section.ts
|
|
206
243
|
var pos_section_default = defineElement("pos-section", {
|
|
207
244
|
props: { heading: t.string({ max: 200 }), description: t.string({ max: 500 }) },
|
|
@@ -274,6 +311,18 @@ var pos_table_default = defineElement("pos-table", {
|
|
|
274
311
|
events: { pagechange: t.object({ page: t.int(), pageSize: t.int() }, ["page", "pageSize"]), rowclick: ROW }
|
|
275
312
|
});
|
|
276
313
|
|
|
314
|
+
// ../schema/2026-01/pos-tabs.ts
|
|
315
|
+
var ID = t.string({ max: 100 });
|
|
316
|
+
var pos_tabs_default = defineElement("pos-tabs", {
|
|
317
|
+
props: {
|
|
318
|
+
tabs: t.array(t.object({ id: ID, label: t.string({ max: 60 }), badge: t.int({ min: 0 }), disabled: t.boolean() }, ["id", "label"]), { max: 20 }),
|
|
319
|
+
selected: ID
|
|
320
|
+
},
|
|
321
|
+
events: { change: ID },
|
|
322
|
+
input: { valueProp: "selected", event: "change", text: false },
|
|
323
|
+
children: { elements: "any" }
|
|
324
|
+
});
|
|
325
|
+
|
|
277
326
|
// ../schema/2026-01/pos-text.ts
|
|
278
327
|
var pos_text_default = defineElement("pos-text", {
|
|
279
328
|
props: { tone: TEXT_TONE, size: t.enum("small", "medium", "large"), weight: t.enum("regular", "semibold", "bold") },
|
|
@@ -316,7 +365,12 @@ var __default = defineCatalog([
|
|
|
316
365
|
pos_spinner_default,
|
|
317
366
|
pos_button_default,
|
|
318
367
|
pos_table_default,
|
|
319
|
-
pos_modal_default
|
|
368
|
+
pos_modal_default,
|
|
369
|
+
// Trang Worker UI (giai đoạn 2).
|
|
370
|
+
pos_page_default,
|
|
371
|
+
pos_tabs_default,
|
|
372
|
+
pos_filter_bar_default,
|
|
373
|
+
pos_chart_default
|
|
320
374
|
]);
|
|
321
375
|
|
|
322
376
|
// ../schema/index.ts
|
|
@@ -1024,6 +1078,9 @@ var PosApiError = class extends Error {
|
|
|
1024
1078
|
this.name = "PosApiError";
|
|
1025
1079
|
}
|
|
1026
1080
|
};
|
|
1081
|
+
function withData(value) {
|
|
1082
|
+
return Object.defineProperties({}, Object.getOwnPropertyDescriptors(value));
|
|
1083
|
+
}
|
|
1027
1084
|
function buildQuery(query) {
|
|
1028
1085
|
if (!query) return "";
|
|
1029
1086
|
const params = new URLSearchParams();
|
|
@@ -1039,6 +1096,7 @@ function createPos(deps) {
|
|
|
1039
1096
|
const { init } = deps;
|
|
1040
1097
|
const now = deps.now ?? Date.now;
|
|
1041
1098
|
const context = extensionContext(init.kind, init.target);
|
|
1099
|
+
const events = hostEvents(context);
|
|
1042
1100
|
const listeners = /* @__PURE__ */ new Map();
|
|
1043
1101
|
let data = init.data;
|
|
1044
1102
|
let token = { ...init.token };
|
|
@@ -1158,18 +1216,28 @@ function createPos(deps) {
|
|
|
1158
1216
|
},
|
|
1159
1217
|
on(event, handler) {
|
|
1160
1218
|
if (event === "data-change") require2("data-change", "pos.on('data-change')");
|
|
1161
|
-
else if (!
|
|
1219
|
+
else if (!events.includes(event)) throw new PosRuntimeError("unavailable", `event ${event} is not available in ${init.target}`);
|
|
1162
1220
|
let set = listeners.get(event);
|
|
1163
1221
|
if (!set) listeners.set(event, set = /* @__PURE__ */ new Set());
|
|
1164
1222
|
set.add(handler);
|
|
1165
1223
|
return () => set.delete(handler);
|
|
1166
1224
|
}
|
|
1167
1225
|
};
|
|
1226
|
+
const page = Object.freeze({
|
|
1227
|
+
setTitle(title) {
|
|
1228
|
+
void callHost("page.setTitle", [String(title).slice(0, 200)], "pos.page.setTitle");
|
|
1229
|
+
},
|
|
1230
|
+
setPrimaryAction(action) {
|
|
1231
|
+
const value = action ? { label: String(action.label).slice(0, 50), disabled: !!action.disabled, loading: !!action.loading } : null;
|
|
1232
|
+
void callHost("page.setPrimaryAction", [value], "pos.page.setPrimaryAction");
|
|
1233
|
+
}
|
|
1234
|
+
});
|
|
1168
1235
|
const emit = (event, payload) => {
|
|
1236
|
+
if (event !== "data-change" && !events.includes(event)) return;
|
|
1169
1237
|
for (const handler of [...listeners.get(event) ?? []]) handler(payload);
|
|
1170
1238
|
};
|
|
1171
1239
|
return {
|
|
1172
|
-
pos: Object.freeze(pos),
|
|
1240
|
+
pos: Object.freeze(context === "page" ? Object.defineProperty(withData(pos), "page", { value: page, enumerable: true }) : pos),
|
|
1173
1241
|
setData(next) {
|
|
1174
1242
|
data = next;
|
|
1175
1243
|
emit("data-change", next);
|
|
@@ -1355,6 +1423,13 @@ function bootWorker(options) {
|
|
|
1355
1423
|
case "ping":
|
|
1356
1424
|
port.postMessage({ t: "pong", n: message.n });
|
|
1357
1425
|
return;
|
|
1426
|
+
case "host-event":
|
|
1427
|
+
try {
|
|
1428
|
+
runtime?.emit(message.name);
|
|
1429
|
+
} catch (error) {
|
|
1430
|
+
reportUncaught(error);
|
|
1431
|
+
}
|
|
1432
|
+
return;
|
|
1358
1433
|
}
|
|
1359
1434
|
};
|
|
1360
1435
|
port.start?.();
|
package/runtime/worker.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/app-protocol/src/protocol.ts", "../../../schema/define.ts", "../../../schema/2026-01/common.ts", "../../../schema/2026-01/pos-badge.ts", "../../../schema/2026-01/pos-banner.ts", "../../../schema/2026-01/pos-button.ts", "../../../schema/2026-01/pos-checkbox.ts", "../../../schema/2026-01/pos-date-picker.ts", "../../../schema/2026-01/pos-divider.ts", "../../../schema/2026-01/pos-grid.ts", "../../../schema/2026-01/pos-heading.ts", "../../../schema/2026-01/pos-image.ts", "../../../schema/2026-01/pos-link.ts", "../../../schema/2026-01/pos-modal.ts", "../../../schema/2026-01/pos-money.ts", "../../../schema/2026-01/pos-number-field.ts", "../../../schema/2026-01/pos-section.ts", "../../../schema/2026-01/pos-select.ts", "../../../schema/2026-01/pos-spinner.ts", "../../../schema/2026-01/pos-stack.ts", "../../../schema/2026-01/pos-table.ts", "../../../schema/2026-01/pos-text.ts", "../../../schema/2026-01/pos-text-field.ts", "../../../schema/2026-01/index.ts", "../../../schema/index.ts", "../../../runtime/worker/events.ts", "../../../runtime/worker/dom.ts", "../../../runtime/worker/pos.ts", "../../../runtime/worker/recorder.ts", "../../../runtime/worker/ui.ts", "../../../runtime/worker/boot.ts", "../../../runtime/worker/main.ts"],
|
|
4
|
-
"mappings": "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",
|
|
3
|
+
"sources": ["../../../packages/app-protocol/src/protocol.ts", "../../../schema/define.ts", "../../../schema/2026-01/common.ts", "../../../schema/2026-01/pos-badge.ts", "../../../schema/2026-01/pos-banner.ts", "../../../schema/2026-01/pos-button.ts", "../../../schema/2026-01/pos-chart.ts", "../../../schema/2026-01/pos-checkbox.ts", "../../../schema/2026-01/pos-date-picker.ts", "../../../schema/2026-01/pos-divider.ts", "../../../schema/2026-01/pos-filter-bar.ts", "../../../schema/2026-01/pos-grid.ts", "../../../schema/2026-01/pos-heading.ts", "../../../schema/2026-01/pos-image.ts", "../../../schema/2026-01/pos-link.ts", "../../../schema/2026-01/pos-modal.ts", "../../../schema/2026-01/pos-money.ts", "../../../schema/2026-01/pos-number-field.ts", "../../../schema/2026-01/pos-page.ts", "../../../schema/2026-01/pos-section.ts", "../../../schema/2026-01/pos-select.ts", "../../../schema/2026-01/pos-spinner.ts", "../../../schema/2026-01/pos-stack.ts", "../../../schema/2026-01/pos-table.ts", "../../../schema/2026-01/pos-tabs.ts", "../../../schema/2026-01/pos-text.ts", "../../../schema/2026-01/pos-text-field.ts", "../../../schema/2026-01/index.ts", "../../../schema/index.ts", "../../../runtime/worker/events.ts", "../../../runtime/worker/dom.ts", "../../../runtime/worker/pos.ts", "../../../runtime/worker/recorder.ts", "../../../runtime/worker/ui.ts", "../../../runtime/worker/boot.ts", "../../../runtime/worker/main.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["require"]
|
|
6
6
|
}
|