@flowselections/layout-maker 1.36.7 → 1.45.8
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/AfleverbriefBuilderPage.d.ts +10 -0
- package/dist-lib/components/AfleverbriefBuilderPage.d.ts.map +1 -0
- package/dist-lib/components/AfleverbriefBuilderPage.js +101 -0
- package/dist-lib/components/BlokOntwerperPage.d.ts.map +1 -1
- package/dist-lib/components/BlokOntwerperPage.js +8 -3
- package/dist-lib/components/ComputersLijst.d.ts.map +1 -1
- package/dist-lib/components/ComputersLijst.js +1 -1
- package/dist-lib/components/FustKolomVolgorde.d.ts +11 -0
- package/dist-lib/components/FustKolomVolgorde.d.ts.map +1 -0
- package/dist-lib/components/FustKolomVolgorde.js +52 -0
- package/dist-lib/components/LayoutsPage.d.ts.map +1 -1
- package/dist-lib/components/LayoutsPage.js +10 -9
- package/dist-lib/components/PaginaDocument.d.ts +4 -1
- package/dist-lib/components/PaginaDocument.d.ts.map +1 -1
- package/dist-lib/components/PaginaDocument.js +10 -5
- package/dist-lib/components/PakbonBuilderPage.d.ts.map +1 -1
- package/dist-lib/components/PakbonBuilderPage.js +34 -14
- package/dist-lib/components/PakbonPreview.d.ts +4 -2
- package/dist-lib/components/PakbonPreview.d.ts.map +1 -1
- package/dist-lib/components/PakbonPreview.js +74 -24
- package/dist-lib/components/PakbonSectiesPanel.d.ts +5 -3
- package/dist-lib/components/PakbonSectiesPanel.d.ts.map +1 -1
- package/dist-lib/components/PakbonSectiesPanel.js +8 -5
- package/dist-lib/components/PdfMapToestemmingBanner.d.ts +2 -1
- package/dist-lib/components/PdfMapToestemmingBanner.d.ts.map +1 -1
- package/dist-lib/components/PdfMapToestemmingBanner.js +73 -14
- package/dist-lib/components/PdfVoorbeeld.d.ts +20 -0
- package/dist-lib/components/PdfVoorbeeld.d.ts.map +1 -0
- package/dist-lib/components/PdfVoorbeeld.js +95 -0
- package/dist-lib/components/PrintProgrammaUitleg.d.ts.map +1 -1
- package/dist-lib/components/PrintProgrammaUitleg.js +1 -1
- package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +81 -43
- package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
- package/dist-lib/components/PrintplekDetailPage.js +2 -2
- package/dist-lib/components/PrintplekWizard.d.ts.map +1 -1
- package/dist-lib/components/PrintplekWizard.js +6 -2
- package/dist-lib/components/ProductiebonBuilderPage.d.ts.map +1 -1
- package/dist-lib/components/ProductiebonBuilderPage.js +13 -7
- package/dist-lib/index.d.ts +16 -6
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +11 -5
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +3585 -1267
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +3585 -1267
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +25898 -0
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/moduleClient.js +29 -0
- package/dist-lib/integrations/supabase/types.d.ts +3607 -1265
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +1 -0
- package/dist-lib/lib/aiLayout.functions.d.ts +3585 -1267
- package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
- package/dist-lib/lib/code128.d.ts +5 -0
- package/dist-lib/lib/code128.d.ts.map +1 -0
- package/dist-lib/lib/code128.js +51 -0
- package/dist-lib/lib/documentVoorbeeld.functions.d.ts +23 -0
- package/dist-lib/lib/documentVoorbeeld.functions.d.ts.map +1 -0
- package/dist-lib/lib/documentVoorbeeld.functions.js +37 -0
- package/dist-lib/lib/fontMetrics.d.ts +15 -0
- package/dist-lib/lib/fontMetrics.d.ts.map +1 -0
- package/dist-lib/lib/fontMetrics.js +118 -0
- package/dist-lib/lib/htmlNaarPdf.server.d.ts +2 -2
- package/dist-lib/lib/htmlNaarPdf.server.d.ts.map +1 -1
- package/dist-lib/lib/htmlNaarPdf.server.js +2 -1
- package/dist-lib/lib/htmlPdf.server.d.ts +11 -0
- package/dist-lib/lib/htmlPdf.server.d.ts.map +1 -1
- package/dist-lib/lib/htmlPdf.server.js +170 -9
- package/dist-lib/lib/layoutPreview.d.ts.map +1 -1
- package/dist-lib/lib/layoutPreview.js +6 -3
- package/dist-lib/lib/orderData.server.d.ts.map +1 -1
- package/dist-lib/lib/orderData.server.js +49 -16
- package/dist-lib/lib/pakbonBarcodeVerzoek.d.ts +39 -0
- package/dist-lib/lib/pakbonBarcodeVerzoek.d.ts.map +1 -0
- package/dist-lib/lib/pakbonBarcodeVerzoek.js +80 -0
- package/dist-lib/lib/pakbonBuilder.d.ts +90 -5
- package/dist-lib/lib/pakbonBuilder.d.ts.map +1 -1
- package/dist-lib/lib/pakbonBuilder.js +455 -58
- package/dist-lib/lib/pakbonContent.d.ts +41 -0
- package/dist-lib/lib/pakbonContent.d.ts.map +1 -0
- package/dist-lib/lib/pakbonContent.js +668 -0
- package/dist-lib/lib/pakbonDocument.d.ts +199 -0
- package/dist-lib/lib/pakbonDocument.d.ts.map +1 -0
- package/dist-lib/lib/pakbonDocument.js +735 -0
- package/dist-lib/lib/pakbonHtml.d.ts +21 -2
- package/dist-lib/lib/pakbonHtml.d.ts.map +1 -1
- package/dist-lib/lib/pakbonHtml.js +144 -36
- package/dist-lib/lib/pakbonPresentation.d.ts +8 -0
- package/dist-lib/lib/pakbonPresentation.d.ts.map +1 -0
- package/dist-lib/lib/pakbonPresentation.js +31 -0
- package/dist-lib/lib/pakbonScan.d.ts +44 -0
- package/dist-lib/lib/pakbonScan.d.ts.map +1 -0
- package/dist-lib/lib/pakbonScan.js +87 -0
- package/dist-lib/lib/pdfJobSaver.d.ts +10 -6
- package/dist-lib/lib/pdfJobSaver.d.ts.map +1 -1
- package/dist-lib/lib/pdfJobSaver.js +302 -99
- package/dist-lib/lib/pdfMap.d.ts +37 -2
- package/dist-lib/lib/pdfMap.d.ts.map +1 -1
- package/dist-lib/lib/pdfMap.js +120 -7
- package/dist-lib/lib/pdfOpslagStatus.d.ts +23 -0
- package/dist-lib/lib/pdfOpslagStatus.d.ts.map +1 -0
- package/dist-lib/lib/pdfOpslagStatus.js +74 -0
- package/dist-lib/lib/printApi.d.ts +31 -0
- package/dist-lib/lib/printApi.d.ts.map +1 -1
- package/dist-lib/lib/printApi.js +62 -1
- package/dist-lib/lib/printQueue.server.d.ts +13 -0
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +673 -96
- package/dist-lib/lib/printService.functions.d.ts +11840 -2568
- package/dist-lib/lib/printService.functions.d.ts.map +1 -1
- package/dist-lib/lib/profielHtml.d.ts.map +1 -1
- package/dist-lib/lib/profielHtml.js +8 -1
- package/dist-lib/lib/supabaseClient.d.ts +1 -3
- package/dist-lib/lib/supabaseClient.d.ts.map +1 -1
- package/dist-lib/lib/supabaseClient.js +4 -8
- package/dist-lib/lib/useDocumentData.d.ts +8 -0
- package/dist-lib/lib/useDocumentData.d.ts.map +1 -1
- package/dist-lib/lib/useDocumentData.js +1 -1
- package/dist-lib/lib/voorbeeldPrint.d.ts +3 -0
- package/dist-lib/lib/voorbeeldPrint.d.ts.map +1 -1
- package/dist-lib/lib/voorbeeldPrint.js +65 -17
- package/package.json +9 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profielHtml.d.ts","sourceRoot":"","sources":["../../src/lib/profielHtml.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"profielHtml.d.ts","sourceRoot":"","sources":["../../src/lib/profielHtml.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAuND,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAWjF;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,OAAO,EACjB,MAAM,GAAE,mBAAwB,GAC/B,MAAM,CAwCR"}
|
|
@@ -90,7 +90,14 @@ function waardeVoor(velden, inst) {
|
|
|
90
90
|
const staart = Object.entries(velden).find(([k, v]) => k.toLowerCase().endsWith(`.${inst.key}`) && String(v).trim() !== "");
|
|
91
91
|
return staart ? String(staart[1]) : "";
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Eén regel "label — waarde". Een veld zonder waarde levert géén regel op:
|
|
95
|
+
* anders komt er een vel met alleen veldnamen uit de printer, terwijl het
|
|
96
|
+
* ontwerp op het scherm wel gevuld lijkt.
|
|
97
|
+
*/
|
|
98
|
+
const kv = (label, waarde) => String(waarde).trim() === ""
|
|
99
|
+
? ""
|
|
100
|
+
: `<div class="kv"><span class="k">${esc(label)}</span><span class="v">${esc(waarde)}</span></div>`;
|
|
94
101
|
/** Zoekt de regels van het document (orderregels, producten, materialen, ...). */
|
|
95
102
|
function zoekRegels(data) {
|
|
96
103
|
for (const sleutel of ["regels", "orderregels", "items", "producten", "lines", "onderdelen"]) {
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { Database } from "../integrations/supabase/types.js";
|
|
3
|
-
export declare const supabase: SupabaseClient<Database>;
|
|
1
|
+
export { supabase } from "../integrations/supabase/moduleClient.js";
|
|
4
2
|
//# sourceMappingURL=supabaseClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabaseClient.d.ts","sourceRoot":"","sources":["../../src/lib/supabaseClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"supabaseClient.d.ts","sourceRoot":"","sources":["../../src/lib/supabaseClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// ============================================================================
|
|
2
|
-
// src/lib/supabaseClient.ts —
|
|
2
|
+
// src/lib/supabaseClient.ts — compatibele module-export
|
|
3
3
|
// ============================================================================
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
// De cast is nodig omdat de core-typedefinities de layout- en printertabellen
|
|
8
|
-
// van deze module niet kennen.
|
|
9
|
-
import { supabase as coreSupabase } from "@flowselections/core";
|
|
10
|
-
export const supabase = coreSupabase;
|
|
4
|
+
// Alle browsercode importeert deze naam; de eigen lazy client zit bewust niet
|
|
5
|
+
// in het automatisch gegenereerde Supabase-bestand.
|
|
6
|
+
export { supabase } from "../integrations/supabase/moduleClient.js";
|
|
@@ -34,9 +34,15 @@ export interface PrintJobModel {
|
|
|
34
34
|
payload?: Record<string, unknown> | null;
|
|
35
35
|
/** Bij de virtuele PDF-printer: de opgemaakte PDF om te downloaden. */
|
|
36
36
|
resultaat_pdf_base64?: string | null;
|
|
37
|
+
artefact_pad?: string | null;
|
|
38
|
+
artefact_sha256?: string | null;
|
|
39
|
+
artefact_bytes?: number | null;
|
|
40
|
+
verwerkingsfase?: string | null;
|
|
41
|
+
foutcode?: string | null;
|
|
37
42
|
lokale_pdf_status?: string | null;
|
|
38
43
|
lokaal_opgeslagen_op?: string | null;
|
|
39
44
|
lokale_pdf_fout?: string | null;
|
|
45
|
+
lokale_pdf_print_plek_id?: string | null;
|
|
40
46
|
}
|
|
41
47
|
export declare function zorgVoorFloridayLayouts(): Promise<boolean>;
|
|
42
48
|
export declare function zorgVoorStandaardLayouts(): Promise<boolean>;
|
|
@@ -113,5 +119,7 @@ export declare function maakPrintJob(input: {
|
|
|
113
119
|
documentnaam: string;
|
|
114
120
|
kopieen?: number;
|
|
115
121
|
is_herprint?: boolean;
|
|
122
|
+
bron_job_id?: string | null;
|
|
123
|
+
payload?: Record<string, unknown>;
|
|
116
124
|
}): Promise<void>;
|
|
117
125
|
//# sourceMappingURL=useDocumentData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentData.d.ts","sourceRoot":"","sources":["../../src/lib/useDocumentData.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useDocumentData.d.ts","sourceRoot":"","sources":["../../src/lib/useDocumentData.ts"],"names":[],"mappings":"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"}
|
|
@@ -407,7 +407,7 @@ export function usePrintJobs() {
|
|
|
407
407
|
setLoading(true);
|
|
408
408
|
const { data } = await supabase
|
|
409
409
|
.from("print_jobs")
|
|
410
|
-
.select("
|
|
410
|
+
.select("id, layout_id, printer_id, documenttype, documentnaam, status, paginas, kopieen, foutmelding, is_herprint, gebruiker_naam, created_at, voltooid_op, extern_job_id, gebruikte_layout_id, gebruikte_bron, payload, lokale_pdf_status, lokaal_opgeslagen_op, lokale_pdf_fout, lokale_pdf_print_plek_id, artefact_pad, artefact_sha256, artefact_bytes, verwerkingsfase, foutcode")
|
|
411
411
|
.order("created_at", { ascending: false })
|
|
412
412
|
.limit(200);
|
|
413
413
|
setJobs(arr(data));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PrintHtmlInput } from "./printApi.js";
|
|
1
2
|
export interface VoorbeeldLayout {
|
|
2
3
|
id?: string | null;
|
|
3
4
|
naam?: string | null;
|
|
@@ -8,6 +9,8 @@ export interface VoorbeeldLayout {
|
|
|
8
9
|
orientatie?: string | null;
|
|
9
10
|
marge_boven?: number | null;
|
|
10
11
|
}
|
|
12
|
+
/** Pure opbouw van de opdracht, zodat printplekdoorgifte regressiegetest kan worden. */
|
|
13
|
+
export declare function bouwVoorbeeldPrintInvoer(layout: VoorbeeldLayout, html: string, printerId: string, printplekId?: string): PrintHtmlInput;
|
|
11
14
|
/**
|
|
12
15
|
* Stuurt meegestuurde opmaak als voorbeeldafdruk naar de printer die bij deze
|
|
13
16
|
* layout hoort en volgt de status in de wachtrij.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voorbeeldPrint.d.ts","sourceRoot":"","sources":["../../src/lib/voorbeeldPrint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"voorbeeldPrint.d.ts","sourceRoot":"","sources":["../../src/lib/voorbeeldPrint.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CAwBhB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqEzF"}
|
|
@@ -5,24 +5,20 @@
|
|
|
5
5
|
// zodat de wachtrij niets opnieuw opmaakt.
|
|
6
6
|
// ============================================================================
|
|
7
7
|
import { toast } from "@flowselections/core";
|
|
8
|
-
import { printHtml, printerVoorLayout, volgJobStatus } from "./printApi.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
export
|
|
8
|
+
import { printHtml, printerAfdrukmethode, printerVoorLayout, volgJobStatus, } from "./printApi.js";
|
|
9
|
+
import { lokalePdfPrintplek, pdfMapToestemming } from "./pdfMap.js";
|
|
10
|
+
import { printerVoorPrintplek } from "./printplekken.js";
|
|
11
|
+
import { isOpslagFout, PDF_OPSLAG_MELDING } from "./pdfOpslagStatus.js";
|
|
12
|
+
/** Pure opbouw van de opdracht, zodat printplekdoorgifte regressiegetest kan worden. */
|
|
13
|
+
export function bouwVoorbeeldPrintInvoer(layout, html, printerId, printplekId) {
|
|
14
14
|
const documenttype = String(layout.documenttype ?? "pakbon");
|
|
15
15
|
const naam = layout.naam ?? documenttype;
|
|
16
|
-
|
|
17
|
-
if (!printerId) {
|
|
18
|
-
toast.error(`Nog geen printer gekoppeld aan ${naam} — stel dit in bij Printen > Standaardregels.`);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const { jobId } = await printHtml({
|
|
16
|
+
return {
|
|
22
17
|
documenttype,
|
|
23
18
|
documentnaam: `Voorbeeld ${naam}`,
|
|
24
19
|
html,
|
|
25
20
|
printerId,
|
|
21
|
+
...(printplekId ? { printplekId } : {}),
|
|
26
22
|
// Bewust geen layout_id: de meegestuurde opmaak is leidend. Het formaat van
|
|
27
23
|
// de bewerkte layout gaat wel mee, zodat het voorbeeld op hetzelfde papier
|
|
28
24
|
// uitkomt als de echte afdruk (bijvoorbeeld A5 in plaats van A4).
|
|
@@ -37,17 +33,69 @@ export async function voorbeeldPrint(layout, html) {
|
|
|
37
33
|
},
|
|
38
34
|
},
|
|
39
35
|
isHerprint: true,
|
|
40
|
-
}
|
|
41
|
-
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Stuurt meegestuurde opmaak als voorbeeldafdruk naar de printer die bij deze
|
|
40
|
+
* layout hoort en volgt de status in de wachtrij.
|
|
41
|
+
*/
|
|
42
|
+
export async function voorbeeldPrint(layout, html) {
|
|
43
|
+
const documenttype = String(layout.documenttype ?? "pakbon");
|
|
44
|
+
const naam = layout.naam ?? documenttype;
|
|
45
|
+
const printerId = await printerVoorLayout(layout);
|
|
46
|
+
if (!printerId) {
|
|
47
|
+
toast.error(`Nog geen printer gekoppeld aan ${naam} — stel dit in bij Printen > Standaardregels.`);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const isPdf = (await printerAfdrukmethode(printerId)) === "pdf";
|
|
51
|
+
let printplekId;
|
|
52
|
+
if (isPdf) {
|
|
53
|
+
const lokalePrintplek = await lokalePdfPrintplek();
|
|
54
|
+
if (!lokalePrintplek) {
|
|
55
|
+
throw new Error("Deze Mac heeft nog geen PDF-map met printplek. Kies de map opnieuw bij de bedoelde printplek.");
|
|
56
|
+
}
|
|
57
|
+
const printerOpPlek = await printerVoorPrintplek(lokalePrintplek, documenttype);
|
|
58
|
+
if (printerOpPlek !== printerId) {
|
|
59
|
+
throw new Error("De PDF-map van deze Mac hoort niet bij de printplek van dit document. Controleer de printer bij deze printplek.");
|
|
60
|
+
}
|
|
61
|
+
const toestemming = await pdfMapToestemming(printerId);
|
|
62
|
+
if (toestemming === "ontbreekt")
|
|
63
|
+
throw new Error(PDF_OPSLAG_MELDING.map_ontbreekt);
|
|
64
|
+
if (toestemming !== "granted")
|
|
65
|
+
throw new Error(PDF_OPSLAG_MELDING.geen_rechten);
|
|
66
|
+
printplekId = lokalePrintplek;
|
|
67
|
+
}
|
|
68
|
+
const { jobId } = await printHtml(bouwVoorbeeldPrintInvoer(layout, html, printerId, printplekId));
|
|
69
|
+
toast.success(isPdf ? "Voorbeeld wordt in de PDF-map opgeslagen" : "Voorbeeld naar de printer verstuurd");
|
|
70
|
+
let afgerond = false;
|
|
42
71
|
const stop = volgJobStatus(jobId, (s) => {
|
|
43
|
-
if (s.
|
|
72
|
+
if (isPdf && s.lokale_pdf_status === "opgeslagen" && s.lokaal_opgeslagen_op) {
|
|
73
|
+
afgerond = true;
|
|
74
|
+
toast.success("Voorbeeld opgeslagen in de PDF-map");
|
|
75
|
+
stop();
|
|
76
|
+
}
|
|
77
|
+
else if (isPdf && isOpslagFout(s.lokale_pdf_status)) {
|
|
78
|
+
afgerond = true;
|
|
79
|
+
toast.error(s.lokale_pdf_fout ??
|
|
80
|
+
PDF_OPSLAG_MELDING[s.lokale_pdf_status ?? ""] ??
|
|
81
|
+
"Voorbeeld kon niet in de PDF-map worden opgeslagen.");
|
|
82
|
+
stop();
|
|
83
|
+
}
|
|
84
|
+
else if (!isPdf && (s.status === "klaar" || s.status === "voltooid")) {
|
|
85
|
+
afgerond = true;
|
|
44
86
|
toast.success("Voorbeeld afgedrukt");
|
|
45
87
|
stop();
|
|
46
88
|
}
|
|
47
89
|
else if (s.status === "mislukt") {
|
|
48
|
-
|
|
90
|
+
afgerond = true;
|
|
91
|
+
toast.error(s.lokale_pdf_fout ?? s.foutmelding ?? "Voorbeeld printen mislukt");
|
|
49
92
|
stop();
|
|
50
93
|
}
|
|
51
94
|
});
|
|
52
|
-
window.setTimeout(() =>
|
|
95
|
+
window.setTimeout(() => {
|
|
96
|
+
stop();
|
|
97
|
+
if (isPdf && !afgerond) {
|
|
98
|
+
toast.error("Het voorbeeld is nog niet opgeslagen. Controleer de opdracht in de printwachtrij.");
|
|
99
|
+
}
|
|
100
|
+
}, 5 * 60000);
|
|
53
101
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowselections/layout-maker",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.45.8",
|
|
4
4
|
"flowselections": {
|
|
5
5
|
"moduleId": "layout-maker",
|
|
6
6
|
"pages": [
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
"route": "layouts-printers/pakbon/$layoutId",
|
|
35
35
|
"title": "Pakbon opbouw"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"export": "AfleverbriefBuilderPage",
|
|
39
|
+
"route": "layouts-printers/afleverbrief/$layoutId",
|
|
40
|
+
"title": "Afleverbrief opbouw"
|
|
41
|
+
},
|
|
37
42
|
{
|
|
38
43
|
"export": "BlokOntwerperPage",
|
|
39
44
|
"route": "layouts-printers/blokken/$layoutId",
|
|
@@ -93,6 +98,7 @@
|
|
|
93
98
|
},
|
|
94
99
|
"scripts": {
|
|
95
100
|
"dev": "vite dev",
|
|
101
|
+
"test": "bun test",
|
|
96
102
|
"build": "vite build",
|
|
97
103
|
"build:lib": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json --resolve-full-paths && node -e \"require('fs').writeFileSync('dist-lib/styles.css', '@source \\\"./\\\";\\n')\"",
|
|
98
104
|
"build:lib:watch": "tsc -p tsconfig.build.json --watch",
|
|
@@ -114,7 +120,8 @@
|
|
|
114
120
|
"@supabase/supabase-js": "^2.111.0",
|
|
115
121
|
"html2canvas": "^1.4.1",
|
|
116
122
|
"jspdf": "^4.2.1",
|
|
117
|
-
"pdf-lib": "^1.17.1"
|
|
123
|
+
"pdf-lib": "^1.17.1",
|
|
124
|
+
"pdfjs-dist": "^6.3.289"
|
|
118
125
|
},
|
|
119
126
|
"devDependencies": {
|
|
120
127
|
"@cloudflare/vite-plugin": "^1.25.5",
|