@flowselections/layout-maker 1.69.13 → 1.69.15
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-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +2 -5
- package/dist-lib/integrations/supabase/types.d.ts +486 -2
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +1 -0
- package/dist-lib/lib/codelijstCache.d.ts +11 -0
- package/dist-lib/lib/codelijstCache.d.ts.map +1 -0
- package/dist-lib/lib/codelijstCache.js +117 -0
- package/dist-lib/lib/documentTypes.d.ts +1 -1
- package/dist-lib/lib/documentTypes.d.ts.map +1 -1
- package/dist-lib/lib/documentTypes.js +2 -1
- package/dist-lib/lib/kiesFormaat.d.ts +11 -0
- package/dist-lib/lib/kiesFormaat.d.ts.map +1 -0
- package/dist-lib/lib/kiesFormaat.js +32 -0
- package/dist-lib/lib/orderData.server.d.ts.map +1 -1
- package/dist-lib/lib/orderData.server.js +5 -14
- package/dist-lib/lib/printQueue.server.d.ts +5 -2
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +148 -47
- package/dist-lib/lib/printerKeuze.d.ts +15 -0
- package/dist-lib/lib/printerKeuze.d.ts.map +1 -0
- package/dist-lib/lib/printerKeuze.js +32 -0
- package/dist-lib/lib/queueTick.d.ts.map +1 -1
- package/dist-lib/lib/queueTick.js +9 -1
- package/dist-lib/lib/runnerRegistry.server.d.ts +10 -0
- package/dist-lib/lib/runnerRegistry.server.d.ts.map +1 -1
- package/dist-lib/lib/runnerRegistry.server.js +55 -0
- package/dist-lib/lib/useDocumentData.js +1 -1
- package/dist-lib/lib/versie.generated.d.ts +1 -1
- package/dist-lib/lib/versie.generated.js +1 -1
- package/package.json +1 -1
- package/sql/print-schema.sql +1 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
+
type Db = SupabaseClient<any, any, any>;
|
|
3
|
+
export declare const CODELIJST_TIMEOUT_MS = 2000;
|
|
4
|
+
export declare function startCodelijstRonde(): void;
|
|
5
|
+
export declare function stopCodelijstRonde(): void;
|
|
6
|
+
/** Haalt de meldingen op (en leegt ze), zodat de wachtrij ze bij de opdracht logt. */
|
|
7
|
+
export declare function neemCodelijstMeldingen(): Record<string, unknown>[];
|
|
8
|
+
/** Labels voor de gevraagde codes. Ontbrekende labels = de code wordt geprint. */
|
|
9
|
+
export declare function codelijstLabels(db: Db, codes: string[]): Promise<Map<string, string>>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=codelijstCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codelijstCache.d.ts","sourceRoot":"","sources":["../../src/lib/codelijstCache.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAExC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAMzC,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AACD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AACD,sFAAsF;AACtF,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAKlE;AAyCD,kFAAkF;AAClF,wBAAsB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8C3F"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// src/lib/codelijstCache.ts — VBN-codelijstlabels voor de pakbon.
|
|
3
|
+
// - Altijd gefilterd op de actieve Floriday-omgeving (geen labels van staging
|
|
4
|
+
// en productie door elkaar; gebruikt de index environment+list_name+code).
|
|
5
|
+
// - Cache per printronde in het geheugen (startCodelijstRonde/stopCodelijstRonde).
|
|
6
|
+
// - Time-out van 2 s: lukt het niet, dan blijven de codes staan (nooit wachten)
|
|
7
|
+
// en komt er een melding die de wachtrij in de faselog schrijft.
|
|
8
|
+
// ============================================================================
|
|
9
|
+
export const CODELIJST_TIMEOUT_MS = 2000;
|
|
10
|
+
const LIJST = "vbn-characteristic-value";
|
|
11
|
+
let ronde = null;
|
|
12
|
+
export function startCodelijstRonde() {
|
|
13
|
+
ronde = { omgeving: undefined, labels: new Map(), meldingen: [] };
|
|
14
|
+
}
|
|
15
|
+
export function stopCodelijstRonde() {
|
|
16
|
+
ronde = null;
|
|
17
|
+
}
|
|
18
|
+
/** Haalt de meldingen op (en leegt ze), zodat de wachtrij ze bij de opdracht logt. */
|
|
19
|
+
export function neemCodelijstMeldingen() {
|
|
20
|
+
if (!ronde)
|
|
21
|
+
return [];
|
|
22
|
+
const m = ronde.meldingen;
|
|
23
|
+
ronde.meldingen = [];
|
|
24
|
+
return m;
|
|
25
|
+
}
|
|
26
|
+
function meld(m) {
|
|
27
|
+
if (ronde)
|
|
28
|
+
ronde.meldingen.push(m);
|
|
29
|
+
}
|
|
30
|
+
async function metTimeout(ms, werk) {
|
|
31
|
+
const ac = new AbortController();
|
|
32
|
+
let klok;
|
|
33
|
+
const grens = new Promise((_, weiger) => {
|
|
34
|
+
klok = setTimeout(() => {
|
|
35
|
+
ac.abort();
|
|
36
|
+
weiger(new Error("time-out"));
|
|
37
|
+
}, ms);
|
|
38
|
+
});
|
|
39
|
+
try {
|
|
40
|
+
return await Promise.race([Promise.resolve(werk(ac.signal)), grens]);
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
if (klok)
|
|
44
|
+
clearTimeout(klok);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async function actieveOmgeving(db) {
|
|
48
|
+
if (ronde && ronde.omgeving !== undefined)
|
|
49
|
+
return ronde.omgeving;
|
|
50
|
+
let env = null;
|
|
51
|
+
try {
|
|
52
|
+
const { data, error } = await metTimeout(CODELIJST_TIMEOUT_MS, (s) => db.rpc("get_active_floriday_connection_public").abortSignal(s));
|
|
53
|
+
if (!error) {
|
|
54
|
+
const rij = Array.isArray(data) ? data[0] : data;
|
|
55
|
+
const v = rij?.["active_environment"];
|
|
56
|
+
env = typeof v === "string" && v ? v : null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
env = null;
|
|
61
|
+
}
|
|
62
|
+
if (ronde)
|
|
63
|
+
ronde.omgeving = env;
|
|
64
|
+
return env;
|
|
65
|
+
}
|
|
66
|
+
/** Labels voor de gevraagde codes. Ontbrekende labels = de code wordt geprint. */
|
|
67
|
+
export async function codelijstLabels(db, codes) {
|
|
68
|
+
const uit = new Map();
|
|
69
|
+
const nodig = codes.filter((c) => {
|
|
70
|
+
const bekend = ronde?.labels.get(c);
|
|
71
|
+
if (bekend !== undefined) {
|
|
72
|
+
if (bekend)
|
|
73
|
+
uit.set(c, bekend);
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
});
|
|
78
|
+
if (!nodig.length)
|
|
79
|
+
return uit;
|
|
80
|
+
const env = await actieveOmgeving(db);
|
|
81
|
+
if (!env) {
|
|
82
|
+
meld({ fase: "codelijst_overgeslagen", reden: "geen actieve Floriday-omgeving; codes geprint", codes: nodig.length });
|
|
83
|
+
return uit;
|
|
84
|
+
}
|
|
85
|
+
const start = Date.now();
|
|
86
|
+
try {
|
|
87
|
+
const { data, error } = await metTimeout(CODELIJST_TIMEOUT_MS, (s) => db
|
|
88
|
+
.from("floriday_code_lists_cache")
|
|
89
|
+
.select("code, label")
|
|
90
|
+
.eq("environment", env)
|
|
91
|
+
.eq("list_name", LIJST)
|
|
92
|
+
.in("code", nodig)
|
|
93
|
+
.abortSignal(s));
|
|
94
|
+
if (error)
|
|
95
|
+
throw new Error(error.message);
|
|
96
|
+
for (const w of Array.isArray(data) ? data : []) {
|
|
97
|
+
const code = String(w["code"] ?? "");
|
|
98
|
+
const label = String(w["label"] ?? "").trim();
|
|
99
|
+
if (code && label && !uit.has(code))
|
|
100
|
+
uit.set(code, label);
|
|
101
|
+
}
|
|
102
|
+
for (const c of nodig)
|
|
103
|
+
ronde?.labels.set(c, uit.get(c) ?? null);
|
|
104
|
+
const ms = Date.now() - start;
|
|
105
|
+
if (ms > 1000)
|
|
106
|
+
meld({ fase: "codelijst_traag", ms, codes: nodig.length });
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
meld({
|
|
110
|
+
fase: "codelijst_traag",
|
|
111
|
+
ms: Date.now() - start,
|
|
112
|
+
codes: nodig.length,
|
|
113
|
+
reden: e instanceof Error && e.message === "time-out" ? "langer dan 2 s; codes geprint" : "niet leesbaar; codes geprint",
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return uit;
|
|
117
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type DocumentType = "pakbon" | "sticker" | "traysticker" | "productiebon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "veilingbon" | "afleverbrief" | "veilingbrief" | "vrij";
|
|
1
|
+
export type DocumentType = "pakbon" | "sticker" | "traysticker" | "eigen_sticker" | "productiebon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "veilingbon" | "afleverbrief" | "veilingbrief" | "vrij";
|
|
2
2
|
export declare const DOCUMENT_TYPES: {
|
|
3
3
|
value: DocumentType;
|
|
4
4
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../src/lib/documentTypes.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,aAAa,GACb,cAAc,GACd,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,QAAQ,GACR,cAAc,GACd,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,MAAM,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../src/lib/documentTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export const DOCUMENT_TYPES = [
|
|
|
5
5
|
{ value: "pakbon", label: "Pakbon" },
|
|
6
6
|
{ value: "sticker", label: "Sticker" },
|
|
7
7
|
{ value: "traysticker", label: "Traysticker" },
|
|
8
|
+
{ value: "eigen_sticker", label: "Eigen sticker" },
|
|
8
9
|
{ value: "productiebon", label: "Productiebon" },
|
|
9
10
|
{ value: "factuur", label: "Factuur" },
|
|
10
11
|
{ value: "offerte", label: "Offerte" },
|
|
@@ -22,7 +23,7 @@ export const DOCUMENT_TYPES = [
|
|
|
22
23
|
{ value: "vrij", label: "Vrij document" },
|
|
23
24
|
];
|
|
24
25
|
/** Soorten die van nature een etiket zijn: altijd naar de labelprinter. */
|
|
25
|
-
export const ETIKET_SOORTEN = ["sticker", "traysticker", "etiket", "verzendlabel", "productlabel", "barcode_label"];
|
|
26
|
+
export const ETIKET_SOORTEN = ["sticker", "traysticker", "eigen_sticker", "etiket", "verzendlabel", "productlabel", "barcode_label"];
|
|
26
27
|
export const isEtiketSoort = (t) => ETIKET_SOORTEN.includes(String(t));
|
|
27
28
|
export function documentTypeLabel(value) {
|
|
28
29
|
return DOCUMENT_TYPES.find((d) => d.value === value)?.label ?? value;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Rij = Record<string, unknown>;
|
|
2
|
+
export type Formaat = {
|
|
3
|
+
breedte_mm: number | null;
|
|
4
|
+
hoogte_mm: number | null;
|
|
5
|
+
orientatie: string | null;
|
|
6
|
+
marge_boven: number | null;
|
|
7
|
+
};
|
|
8
|
+
export declare function testprintHoudtFormaat(job: Rij): boolean;
|
|
9
|
+
export declare function kiesFormaat(job: Rij, layout: Rij | null | undefined): Formaat;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=kiesFormaat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiesFormaat.d.ts","sourceRoot":"","sources":["../../src/lib/kiesFormaat.ts"],"names":[],"mappings":"AAMA,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAOrI,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAIvD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAgB7E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// src/lib/kiesFormaat.ts — papierformaat van een opdracht.
|
|
3
|
+
// Testprint zonder layout_id met voorbeeld_formaat: het gekozen voorbeeldformaat
|
|
4
|
+
// wint (ook als er een klantlayout is gevonden). Anders wint de layout.
|
|
5
|
+
// ============================================================================
|
|
6
|
+
function num(v) {
|
|
7
|
+
const n = Number(v);
|
|
8
|
+
return v !== null && v !== undefined && v !== "" && Number.isFinite(n) && n > 0 ? n : null;
|
|
9
|
+
}
|
|
10
|
+
export function testprintHoudtFormaat(job) {
|
|
11
|
+
const p = (job["payload"] ?? {});
|
|
12
|
+
const vf = p["voorbeeld_formaat"];
|
|
13
|
+
return p["is_testprint"] === true && !!vf && typeof vf === "object" && (job["layout_id"] === null || job["layout_id"] === undefined || job["layout_id"] === "");
|
|
14
|
+
}
|
|
15
|
+
export function kiesFormaat(job, layout) {
|
|
16
|
+
const vf = ((job["payload"] ?? {})["voorbeeld_formaat"] ?? null);
|
|
17
|
+
const eerst = testprintHoudtFormaat(job) ? [vf, layout] : [layout, vf];
|
|
18
|
+
const pak = (k) => {
|
|
19
|
+
for (const b of eerst) {
|
|
20
|
+
const v = b?.[k];
|
|
21
|
+
if (v !== null && v !== undefined && v !== "")
|
|
22
|
+
return v;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
breedte_mm: num(pak("breedte_mm")),
|
|
28
|
+
hoogte_mm: num(pak("hoogte_mm")),
|
|
29
|
+
orientatie: pak("orientatie") ?? null,
|
|
30
|
+
marge_boven: num(pak("marge_boven")),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderData.server.d.ts","sourceRoot":"","sources":["../../src/lib/orderData.server.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"orderData.server.d.ts","sourceRoot":"","sources":["../../src/lib/orderData.server.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAwBtD,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAKvD;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAgCA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG;IAC7C,KAAK,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAMA;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7E,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CA6nBrB;AAkHD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAGhG;AAcD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAIzD"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
// Draait alleen op de server (printwachtrij).
|
|
14
14
|
// ============================================================================
|
|
15
15
|
import { beladingTekst, laagDeel, lagenVanRegel } from "./belading.js";
|
|
16
|
+
import { codelijstLabels } from "./codelijstCache.js";
|
|
16
17
|
const arr = (v) => (Array.isArray(v) ? v : []);
|
|
17
18
|
const num = (v) => (Number.isFinite(Number(v)) ? Number(v) : 0);
|
|
18
19
|
const uniek = (v) => Array.from(new Set(v.map((x) => (x ? String(x) : "")).filter(Boolean)));
|
|
@@ -409,20 +410,10 @@ export async function laadPakbonData(db, opties) {
|
|
|
409
410
|
i.kleurCode ? `B01:${i.kleurCode}` : "",
|
|
410
411
|
i.potmaatCode ? `S01:${i.potmaatCode}` : "",
|
|
411
412
|
]));
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
.select("code, label")
|
|
417
|
-
.eq("list_name", "vbn-characteristic-value")
|
|
418
|
-
.in("code", kenmerkSleutels)));
|
|
419
|
-
for (const w of waarden) {
|
|
420
|
-
const code = String(w["code"] ?? "");
|
|
421
|
-
const label = String(w["label"] ?? "").trim();
|
|
422
|
-
if (code && label && !kenmerkNamen.has(code))
|
|
423
|
-
kenmerkNamen.set(code, label);
|
|
424
|
-
}
|
|
425
|
-
}
|
|
413
|
+
// Actieve omgeving, cache per ronde en 2 s time-out (codelijstCache).
|
|
414
|
+
const kenmerkNamen = kenmerkSleutels.length
|
|
415
|
+
? await codelijstLabels(db, kenmerkSleutels)
|
|
416
|
+
: new Map();
|
|
426
417
|
// Schrijf de verrijking terug in de custom_fields van het product.
|
|
427
418
|
for (const p of producten.values()) {
|
|
428
419
|
const extra = (p["custom_fields"] ?? {});
|
|
@@ -128,8 +128,11 @@ export interface WachtrijResultaat {
|
|
|
128
128
|
/** Waarom deze ronde niets deed (bijvoorbeeld: een andere ronde draait al). */
|
|
129
129
|
overgeslagen?: string;
|
|
130
130
|
}
|
|
131
|
-
/**
|
|
132
|
-
export declare
|
|
131
|
+
/** Na deze looptijd pakt een ronde geen nieuwe opdracht meer (lopende wordt afgemaakt). */
|
|
132
|
+
export declare const RONDE_BUDGET_MS = 20000;
|
|
133
|
+
export declare function verwerkWachtrij(db: PrintDb, max?: number, opties?: {
|
|
134
|
+
origin?: string | null;
|
|
135
|
+
}): Promise<WachtrijResultaat>;
|
|
133
136
|
/**
|
|
134
137
|
* Dezelfde documentkeuze als de printwachtrij maakt, maar zonder printer en
|
|
135
138
|
* zonder statuswijziging. Gebruikt door het voorbeeld (`preview-pdf`) zodat
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA2B5D,OAAO,EAA+H,KAAK,gBAAgB,EAAkF,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"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"}
|