stash
This commit is contained in:
parent
ce1e5f1d62
commit
c345372382
9 changed files with 233 additions and 82 deletions
|
|
@ -8,33 +8,33 @@ const GAP = {type: "empty", "min-width": "1mm", "min-height": "1mm"};
|
|||
export const LABEL_TEMPLATES = [
|
||||
{
|
||||
id: "qr", name: "QR code only", description: "Just the code - smallest label, prints fastest.",
|
||||
required_vars: ["value"],
|
||||
layout: [{type: "qrcode", content: c => c.value}]
|
||||
required_vars: ["text"],
|
||||
layout: [{type: "qrcode", content: c => c.text}]
|
||||
},
|
||||
{
|
||||
id: "qr-text", name: "QR code + text", description: "The code with the encoded text printed next to it.",
|
||||
required_vars: ["value"],
|
||||
layout: [{type: "qrcode", content: c => c.value}, GAP, {type: "text", content: c => c.value?.split("\n")}]
|
||||
required_vars: ["text"],
|
||||
layout: [{type: "qrcode", content: c => c.text}, GAP, {type: "text", content: c => c.text?.split("\n")}]
|
||||
},
|
||||
{
|
||||
id: "qr-text-below", name: "QR code + text below",
|
||||
description: "The code with the encoded text printed below it.",
|
||||
required_vars: ["value"],
|
||||
layout: [[{type: "qrcode", content: c => c.value}, GAP, {type: "text", content: c => c.value?.split("\n")}]]
|
||||
required_vars: ["text"],
|
||||
layout: [[{type: "qrcode", content: c => c.text}, GAP, {type: "text", content: c => c.text?.split("\n")}]]
|
||||
},
|
||||
{
|
||||
id: "id-qr-text-vertical", name: "ID + QR code + text below",
|
||||
description: "The code with the encoded text printed below it.",
|
||||
required_vars: ["itemId", "value", "userHandle"],
|
||||
required_vars: ["itemId", "text", "userHandle"],
|
||||
layout: [[{type: "text", content: c => "Item: "+c.itemId}, GAP, {
|
||||
type: "qrcode",
|
||||
content: c => c.value
|
||||
content: c => c.text
|
||||
}, GAP, {type: "text", content: c => c.userHandle}]]
|
||||
},
|
||||
{
|
||||
id: "text", name: "Text only", description: "No code, just the text itself, as large as it fits.",
|
||||
required_vars: ["value"],
|
||||
layout: [{type: "text", content: c => c.value?.split("\n")}]
|
||||
required_vars: ["text"],
|
||||
layout: [{type: "text", content: c => c.text?.split("\n")}]
|
||||
},
|
||||
{
|
||||
id: "item-handle", name: "Item handle",
|
||||
|
|
@ -105,10 +105,19 @@ export const KNOWN_VARS = [...new Set(LABEL_TEMPLATES.flatMap(t => t.required_va
|
|||
// A derived var is a format string calculated from other vars rather than typed directly - it
|
||||
// doesn't get its own input, just a read-only, live-recalculated display next to the ones that
|
||||
// do (see Print.vue and withDerivedVars below). `inputs` names every var (base or, in principle,
|
||||
// derived) `calc` reads - declared up front rather than inferred from calc's body so BASE_VARS
|
||||
// below can include a var like "webdomain" that only feeds a calculation and that no template
|
||||
// ever references directly.
|
||||
// another derived one - see itemUrl/itemHandle below, which both read the derived userHandle)
|
||||
// `calc` reads - declared up front rather than inferred from calc's body so BASE_VARS below can
|
||||
// include a var like "webdomain" that only feeds a calculation and that no template ever
|
||||
// references directly. Declaration order matters here: withDerivedVars runs these in a single
|
||||
// pass, so a derived var must be declared after every other derived var it depends on.
|
||||
export const DERIVED_VARS = {
|
||||
// The full owner handle (see federation.md's Unique Handles section / ToolshedUser's
|
||||
// separate username/domain columns) - kept as two base vars (user, domain) rather than one,
|
||||
// since that's how the account itself is actually shaped, with this just the display/URL form.
|
||||
userHandle: {
|
||||
inputs: ["user", "domain"],
|
||||
calc: (f) => `${f.user}@${f.domain}`,
|
||||
},
|
||||
// The self-contained Item URL (see docs/design-in-progress/items-labels.md) - what a printed
|
||||
// label actually encodes, since scanning it has to resolve the right frontend/backend/item
|
||||
// with no other context, not just this browser's history. `webdomain` defaults to this
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue