@flowselections/layout-maker 1.45.19 → 1.51.2

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.
Files changed (95) hide show
  1. package/dist-lib/components/ComputerVerwijderenDialog.d.ts +16 -0
  2. package/dist-lib/components/ComputerVerwijderenDialog.d.ts.map +1 -0
  3. package/dist-lib/components/ComputerVerwijderenDialog.js +38 -0
  4. package/dist-lib/components/ComputersLijst.d.ts.map +1 -1
  5. package/dist-lib/components/ComputersLijst.js +5 -2
  6. package/dist-lib/components/DocumentenPage.d.ts.map +1 -1
  7. package/dist-lib/components/DocumentenPage.js +2 -3
  8. package/dist-lib/components/LayoutPrinterSelect.d.ts +3 -5
  9. package/dist-lib/components/LayoutPrinterSelect.d.ts.map +1 -1
  10. package/dist-lib/components/LayoutPrinterSelect.js +40 -17
  11. package/dist-lib/components/LayoutsPage.d.ts.map +1 -1
  12. package/dist-lib/components/LayoutsPage.js +28 -18
  13. package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
  14. package/dist-lib/components/PrintQueuePage.js +5 -71
  15. package/dist-lib/components/PrintenPage.d.ts.map +1 -1
  16. package/dist-lib/components/PrintenPage.js +2 -3
  17. package/dist-lib/components/PrinterSetupWizard.d.ts +3 -1
  18. package/dist-lib/components/PrinterSetupWizard.d.ts.map +1 -1
  19. package/dist-lib/components/PrinterSetupWizard.js +15 -29
  20. package/dist-lib/components/PrinterVervangenDialog.d.ts +14 -0
  21. package/dist-lib/components/PrinterVervangenDialog.d.ts.map +1 -0
  22. package/dist-lib/components/PrinterVervangenDialog.js +44 -0
  23. package/dist-lib/components/PrintersPage.d.ts.map +1 -1
  24. package/dist-lib/components/PrintersPage.js +2 -2
  25. package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
  26. package/dist-lib/components/PrintplekDetailPage.js +173 -68
  27. package/dist-lib/components/PrintplekVerwijderenDialog.d.ts +9 -0
  28. package/dist-lib/components/PrintplekVerwijderenDialog.d.ts.map +1 -0
  29. package/dist-lib/components/PrintplekVerwijderenDialog.js +34 -0
  30. package/dist-lib/components/PrintplekWizard.d.ts.map +1 -1
  31. package/dist-lib/components/PrintplekWizard.js +3 -85
  32. package/dist-lib/components/PrintplekkenPage.d.ts.map +1 -1
  33. package/dist-lib/components/PrintplekkenPage.js +28 -6
  34. package/dist-lib/components/WerkplekConfiguratiePage.d.ts.map +1 -1
  35. package/dist-lib/components/WerkplekConfiguratiePage.js +67 -25
  36. package/dist-lib/index.d.ts +9 -12
  37. package/dist-lib/index.d.ts.map +1 -1
  38. package/dist-lib/index.js +7 -13
  39. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1414 -24
  40. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  41. package/dist-lib/integrations/supabase/client.server.d.ts +1414 -24
  42. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  43. package/dist-lib/integrations/supabase/moduleClient.d.ts +1414 -24
  44. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  45. package/dist-lib/integrations/supabase/types.d.ts +1471 -42
  46. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  47. package/dist-lib/lib/aiLayout.functions.d.ts +1414 -24
  48. package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
  49. package/dist-lib/lib/documentRoutering.d.ts +2 -1
  50. package/dist-lib/lib/documentRoutering.d.ts.map +1 -1
  51. package/dist-lib/lib/documentRoutering.js +5 -8
  52. package/dist-lib/lib/foutTekst.d.ts +3 -0
  53. package/dist-lib/lib/foutTekst.d.ts.map +1 -0
  54. package/dist-lib/lib/foutTekst.js +25 -0
  55. package/dist-lib/lib/printApi.d.ts +0 -2
  56. package/dist-lib/lib/printApi.d.ts.map +1 -1
  57. package/dist-lib/lib/printApi.js +13 -60
  58. package/dist-lib/lib/printQueue.server.d.ts +8 -0
  59. package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
  60. package/dist-lib/lib/printQueue.server.js +55 -133
  61. package/dist-lib/lib/printRoutering.d.ts +34 -0
  62. package/dist-lib/lib/printRoutering.d.ts.map +1 -0
  63. package/dist-lib/lib/printRoutering.js +69 -0
  64. package/dist-lib/lib/printService.functions.d.ts +6980 -30
  65. package/dist-lib/lib/printService.functions.d.ts.map +1 -1
  66. package/dist-lib/lib/printplekken.d.ts +67 -2
  67. package/dist-lib/lib/printplekken.d.ts.map +1 -1
  68. package/dist-lib/lib/printplekken.js +141 -10
  69. package/dist-lib/lib/useDocumentData.d.ts +15 -10
  70. package/dist-lib/lib/useDocumentData.d.ts.map +1 -1
  71. package/dist-lib/lib/useDocumentData.js +43 -34
  72. package/dist-lib/lib/voorbeeldPrint.d.ts.map +1 -1
  73. package/dist-lib/lib/voorbeeldPrint.js +7 -39
  74. package/package.json +2 -2
  75. package/dist-lib/components/PdfMapAutoSaver.d.ts +0 -6
  76. package/dist-lib/components/PdfMapAutoSaver.d.ts.map +0 -1
  77. package/dist-lib/components/PdfMapAutoSaver.js +0 -12
  78. package/dist-lib/components/PdfMapGlobaleBanner.d.ts +0 -12
  79. package/dist-lib/components/PdfMapGlobaleBanner.d.ts.map +0 -1
  80. package/dist-lib/components/PdfMapGlobaleBanner.js +0 -30
  81. package/dist-lib/components/PdfMapToestemmingBanner.d.ts +0 -8
  82. package/dist-lib/components/PdfMapToestemmingBanner.d.ts.map +0 -1
  83. package/dist-lib/components/PdfMapToestemmingBanner.js +0 -245
  84. package/dist-lib/lib/pdfJobSaver.d.ts +0 -24
  85. package/dist-lib/lib/pdfJobSaver.d.ts.map +0 -1
  86. package/dist-lib/lib/pdfJobSaver.js +0 -405
  87. package/dist-lib/lib/pdfMap.d.ts +0 -90
  88. package/dist-lib/lib/pdfMap.d.ts.map +0 -1
  89. package/dist-lib/lib/pdfMap.js +0 -349
  90. package/dist-lib/lib/pdfOpslagStatus.d.ts +0 -23
  91. package/dist-lib/lib/pdfOpslagStatus.d.ts.map +0 -1
  92. package/dist-lib/lib/pdfOpslagStatus.js +0 -74
  93. package/dist-lib/lib/pdfPrinter.d.ts +0 -9
  94. package/dist-lib/lib/pdfPrinter.d.ts.map +0 -1
  95. package/dist-lib/lib/pdfPrinter.js +0 -34
@@ -1,30 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createRoot } from "react-dom/client";
3
- import { PdfMapToestemmingBanner } from "./PdfMapToestemmingBanner.js";
4
- const CONTAINER_ID = "layout-maker-pdf-map-banner";
5
- /**
6
- * Monteert de mapmelding één keer boven de volledige shell. Zo is de actie ook
7
- * zichtbaar in modules die alleen de print-API gebruiken, zoals Pickstation.
8
- */
9
- export function startPdfMapGlobaleBanner() {
10
- if (typeof window === "undefined" || window.__layoutMakerPdfBannerRoot)
11
- return;
12
- const monteer = () => {
13
- if (window.__layoutMakerPdfBannerRoot)
14
- return;
15
- const bestaand = document.getElementById(CONTAINER_ID);
16
- const container = bestaand ?? document.createElement("div");
17
- container.id = CONTAINER_ID;
18
- if (!bestaand)
19
- document.body.appendChild(container);
20
- const root = createRoot(container);
21
- window.__layoutMakerPdfBannerRoot = root;
22
- root.render(_jsx(PdfMapToestemmingBanner, { alleenActieNodig: true, zwevend: true }));
23
- };
24
- if (document.readyState === "loading") {
25
- document.addEventListener("DOMContentLoaded", monteer, { once: true });
26
- }
27
- else {
28
- monteer();
29
- }
30
- }
@@ -1,8 +0,0 @@
1
- type PdfMapToestemmingBannerProps = {
2
- alleenActieNodig?: boolean;
3
- zwevend?: boolean;
4
- printplekId?: string;
5
- };
6
- export declare function PdfMapToestemmingBanner({ alleenActieNodig, zwevend, printplekId, }?: PdfMapToestemmingBannerProps): import("react").JSX.Element | null;
7
- export {};
8
- //# sourceMappingURL=PdfMapToestemmingBanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PdfMapToestemmingBanner.d.ts","sourceRoot":"","sources":["../../src/components/PdfMapToestemmingBanner.tsx"],"names":[],"mappings":"AA0BA,KAAK,4BAA4B,GAAG;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,gBAAwB,EACxB,OAAe,EACf,WAAW,GACZ,GAAE,4BAAiC,sCAsTnC"}
@@ -1,245 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // ============================================================================
3
- // src/components/PdfMapToestemmingBanner.tsx — permanente, zichtbare controle om
4
- // de maptoestemming voor de virtuele "Opslaan als PDF"-printer te beheren.
5
- // Getoond op de Printplek-detailpagina en de Printwachtrij, zodat een gebruiker
6
- // altijd proactief toestemming kan (her)geven zonder op een toast te wachten.
7
- // ============================================================================
8
- import { useCallback, useEffect, useState } from "react";
9
- import { Button, toast } from "@flowselections/core";
10
- import { FolderCheck, FolderOpen, ShieldAlert, ShieldCheck } from "lucide-react";
11
- import { usePrinters } from "../lib/useDocumentData.js";
12
- import { zorgVoorPdfPrinter } from "../lib/pdfPrinter.js";
13
- import { supabase } from "../lib/supabaseClient.js";
14
- import { draaitInIframe, herstelPdfMapToestemming, kiesPdfMap, mapKiezenMogelijk, openInEigenTabblad, lokalePdfPrintplek, pdfMapKoppeling, pdfMapNaam, pdfMapToestemming, } from "../lib/pdfMap.js";
15
- export function PdfMapToestemmingBanner({ alleenActieNodig = false, zwevend = false, printplekId, } = {}) {
16
- const { printers, reload } = usePrinters();
17
- const pdfPrinter = printers.find((p) => p.afdrukmethode === "pdf");
18
- // De balk is alleen nuttig als "Opslaan als PDF" nog ergens als
19
- // afdrukmethode is ingesteld (printplek-regel, layoutkoppeling of
20
- // formaatregel). Zodra nergens meer een PDF-printer is gekozen, verdwijnt
21
- // de balk en wordt de virtuele printer ook niet meer vanzelf aangemaakt.
22
- const [inGebruik, setInGebruik] = useState(null);
23
- const meetGebruik = useCallback(async (printerId) => {
24
- const tabellen = [
25
- supabase.from("document_printplek_printers").select("print_plek_id").eq("printer_id", printerId).limit(1),
26
- supabase.from("printer_mappings").select("layout_id").eq("printer_id", printerId).limit(1),
27
- supabase.from("document_formaat_printers").select("documenttype").eq("printer_id", printerId).limit(1),
28
- ];
29
- try {
30
- const resultaten = await Promise.all(tabellen);
31
- return resultaten.some((r) => Array.isArray(r.data) && r.data.length > 0);
32
- }
33
- catch {
34
- // Bij een leesfout liever tonen dan stil verbergen.
35
- return true;
36
- }
37
- }, []);
38
- useEffect(() => {
39
- if (!pdfPrinter) {
40
- setInGebruik(null);
41
- return;
42
- }
43
- let actief = true;
44
- void meetGebruik(pdfPrinter.id).then((gebruikt) => {
45
- if (actief)
46
- setInGebruik(gebruikt);
47
- });
48
- return () => {
49
- actief = false;
50
- };
51
- }, [pdfPrinter?.id, meetGebruik]); // eslint-disable-line react-hooks/exhaustive-deps
52
- const [naam, setNaam] = useState(null);
53
- const [toestand, setToestand] = useState("laden");
54
- const [gekoppeldePrintplek, setGekoppeldePrintplek] = useState(null);
55
- const [persistent, setPersistent] = useState(null);
56
- const [instellingOpen, setInstellingOpen] = useState(false);
57
- const [aangevraagdePrintplek, setAangevraagdePrintplek] = useState(null);
58
- useEffect(() => {
59
- const params = new URLSearchParams(window.location.search);
60
- const gevraagd = params.get("pdf-printplek")?.trim() || null;
61
- setInstellingOpen(params.get("pdf-map-instellen") === "1");
62
- setAangevraagdePrintplek(gevraagd);
63
- void lokalePdfPrintplek().then((lokaal) => setGekoppeldePrintplek(gevraagd ?? lokaal));
64
- }, []);
65
- // Maak de virtuele PDF-printer alleen aan wanneer expliciet om het instellen
66
- // van de map gevraagd wordt (?pdf-map-instellen=1). Zonder die vraag én
67
- // zonder bestaande PDF-printer is er niets om toestemming voor te geven.
68
- useEffect(() => {
69
- if (pdfPrinter || !instellingOpen)
70
- return;
71
- let actief = true;
72
- void (async () => {
73
- try {
74
- await zorgVoorPdfPrinter();
75
- if (actief)
76
- await reload(true);
77
- }
78
- catch {
79
- // RLS of netwerkfout — stil negeren, banner blijft verborgen.
80
- }
81
- })();
82
- return () => {
83
- actief = false;
84
- };
85
- }, [pdfPrinter, instellingOpen, reload]);
86
- const laad = useCallback(async () => {
87
- if (!pdfPrinter) {
88
- setNaam(null);
89
- setToestand("ontbreekt");
90
- return;
91
- }
92
- setNaam(await pdfMapNaam(pdfPrinter.id));
93
- setToestand(await pdfMapToestemming(pdfPrinter.id));
94
- const koppeling = await pdfMapKoppeling();
95
- let doelPrintplek = printplekId ?? aangevraagdePrintplek ?? koppeling?.printPlekId ?? null;
96
- if (!doelPrintplek) {
97
- const { data } = await supabase
98
- .from("document_printplek_printers")
99
- .select("print_plek_id")
100
- .eq("printer_id", pdfPrinter.id);
101
- const ids = [
102
- ...new Set((Array.isArray(data) ? data : [])
103
- .map((rij) => String(rij.print_plek_id ?? "").trim())
104
- .filter(Boolean)),
105
- ];
106
- doelPrintplek = ids.length === 1 ? ids[0] ?? null : null;
107
- }
108
- setGekoppeldePrintplek(doelPrintplek);
109
- setPersistent(koppeling?.persistent ?? null);
110
- // Opnieuw meten of PDF nog ergens is ingesteld: kiest de gebruiker bij
111
- // alle documenten een echte printer, dan verdwijnt de balk direct.
112
- setInGebruik(await meetGebruik(pdfPrinter.id));
113
- }, [aangevraagdePrintplek, meetGebruik, pdfPrinter, printplekId]);
114
- useEffect(() => {
115
- void laad();
116
- }, [laad]);
117
- // Herverfris na focus zodat een net verleende toestemming meteen zichtbaar is.
118
- useEffect(() => {
119
- const h = () => void laad();
120
- window.addEventListener("focus", h);
121
- document.addEventListener("visibilitychange", h);
122
- return () => {
123
- window.removeEventListener("focus", h);
124
- document.removeEventListener("visibilitychange", h);
125
- };
126
- }, [laad]);
127
- // In een iframe (o.a. de Lovable-preview) heeft de balk geen nut: de
128
- // mappenverkenner werkt daar niet en de gebruiker kan alleen via "Open in
129
- // eigen tabblad" verder. De balk daar niet tonen houdt de preview schoon;
130
- // in een eigen tabblad blijft hij volledig zichtbaar.
131
- const inIframe = draaitInIframe();
132
- if (inIframe)
133
- return null;
134
- // Is "Opslaan als PDF" nergens meer ingesteld (geen printplek-, layout- of
135
- // formaatregel met deze printer), dan is de balk overbodig en verbergen we
136
- // hem volledig. Alleen bij een expliciete instelvraag blijft hij zichtbaar.
137
- if (!instellingOpen) {
138
- if (!pdfPrinter)
139
- return null;
140
- if (inGebruik === false)
141
- return null;
142
- }
143
- // De balk is op dit punt alleen nog zichtbaar als "Opslaan als PDF"
144
- // daadwerkelijk ergens is ingesteld (of de gebruiker expliciet aan het
145
- // instellen is); anders is hierboven al `null` teruggegeven.
146
- const vereistePrintplek = printplekId ?? aangevraagdePrintplek ?? gekoppeldePrintplek;
147
- const inOrde = !!pdfPrinter &&
148
- toestand === "granted" &&
149
- !!naam &&
150
- !!gekoppeldePrintplek &&
151
- (!vereistePrintplek || gekoppeldePrintplek === vereistePrintplek);
152
- if (alleenActieNodig && !instellingOpen && (!pdfPrinter ? false : toestand === "laden" || inOrde))
153
- return null;
154
- const ondersteund = mapKiezenMogelijk();
155
- const geefToestemming = async () => {
156
- if (!pdfPrinter)
157
- return;
158
- const resultaat = await herstelPdfMapToestemming(pdfPrinter.id);
159
- if (resultaat === "granted") {
160
- toast.success("Maptoestemming verleend", {
161
- description: "Gereedstaande PDF's worden nu naar de map opgeslagen.",
162
- });
163
- await laad();
164
- }
165
- else if (resultaat === "ontbreekt") {
166
- // Nog geen map gekozen — open de verkenner.
167
- await kiesNieuweMap();
168
- }
169
- else {
170
- toast.error("Maptoestemming is niet verleend");
171
- await laad();
172
- }
173
- };
174
- const kiesNieuweMap = async () => {
175
- if (!pdfPrinter)
176
- return;
177
- if (inIframe) {
178
- toast.error("Map kiezen werkt niet in een iframe", {
179
- description: "Open de app in een eigen tabblad om de mappenverkenner te gebruiken.",
180
- action: {
181
- label: "Open in eigen tabblad",
182
- onClick: () => openInEigenTabblad(printplekId ?? gekoppeldePrintplek ?? undefined),
183
- },
184
- duration: 15000,
185
- });
186
- return;
187
- }
188
- const doelPrintplek = printplekId ?? gekoppeldePrintplek ?? undefined;
189
- const uitkomst = await kiesPdfMap(pdfPrinter.id, doelPrintplek);
190
- if (uitkomst.status === "gekozen") {
191
- toast.success("Map gekozen", { description: `PDF's worden opgeslagen in “${uitkomst.naam}”.` });
192
- await laad();
193
- }
194
- else if (uitkomst.status === "niet-ondersteund") {
195
- toast.error("Deze browser ondersteunt geen mapkeuze", {
196
- description: "Gebruik Chrome, Edge of Safari op desktop.",
197
- });
198
- }
199
- else if (uitkomst.status === "iframe-geblokkeerd") {
200
- toast.error("Map kiezen werkt niet in een iframe", {
201
- description: "Open de app in een eigen tabblad.",
202
- action: {
203
- label: "Open in eigen tabblad",
204
- onClick: () => openInEigenTabblad(printplekId ?? gekoppeldePrintplek ?? undefined),
205
- },
206
- duration: 15000,
207
- });
208
- }
209
- else if (uitkomst.status === "fout") {
210
- toast.error("Map kiezen is mislukt", { description: uitkomst.melding });
211
- }
212
- };
213
- const icoon = inOrde
214
- ? ShieldCheck
215
- : toestand === "denied"
216
- ? ShieldAlert
217
- : FolderOpen;
218
- const Icoon = icoon;
219
- if (!pdfPrinter) {
220
- return (_jsxs("div", { role: "status", "aria-live": "polite", className: `${zwevend ? "fixed inset-x-4 top-4 z-[100] mx-auto max-w-4xl shadow-lg" : ""} flex flex-wrap items-center justify-between gap-3 rounded-lg border border-amber-300/60 bg-amber-50 p-3 dark:border-amber-700/60 dark:bg-amber-950/30`, children: [_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [_jsx(ShieldAlert, { className: "h-4 w-4 text-amber-600 dark:text-amber-400" }), _jsx("span", { className: "font-medium", children: "PDF-maptoestemming" }), _jsx("span", { className: "text-muted-foreground", children: "De virtuele \u201COpslaan als PDF\u201D-printer wordt aangemaakt of kon nog niet worden geladen." })] }), _jsxs(Button, { size: "sm", variant: "outline", onClick: () => {
221
- void (async () => {
222
- try {
223
- await zorgVoorPdfPrinter();
224
- await reload(true);
225
- }
226
- catch (fout) {
227
- toast.error("PDF-printer kon niet worden aangemaakt", {
228
- description: fout instanceof Error ? fout.message : undefined,
229
- });
230
- }
231
- })();
232
- }, children: [_jsx(FolderOpen, { className: "mr-2 h-4 w-4" }), " PDF-printer aanmaken"] })] }));
233
- }
234
- return (_jsxs("div", { role: "status", "aria-live": "polite", className: `${inOrde
235
- ? "border-emerald-300/60 bg-emerald-50 dark:border-emerald-700/60 dark:bg-emerald-950/30"
236
- : "border-amber-300/60 bg-amber-50 dark:border-amber-700/60 dark:bg-amber-950/30"} ${zwevend
237
- ? "fixed inset-x-4 top-4 z-[100] mx-auto max-w-4xl shadow-lg"
238
- : ""} flex flex-wrap items-center justify-between gap-3 rounded-lg border p-3`, children: [_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [_jsx(Icoon, { className: inOrde
239
- ? "h-4 w-4 text-emerald-600 dark:text-emerald-400"
240
- : "h-4 w-4 text-amber-600 dark:text-amber-400" }), _jsx("span", { className: "font-medium", children: "PDF-maptoestemming" }), _jsxs("span", { className: "text-muted-foreground", children: [naam
241
- ? `Map “${naam}” — toestemming ${toestand === "granted" ? "verleend" : "vereist vernieuwen"}`
242
- : "Nog geen map gekozen op deze computer", !ondersteund ? " (browser ondersteunt geen mapkeuze)" : "", inIframe
243
- ? " — de preview draait in een iframe; de mapkeuze geldt per webadres en moet hier opnieuw worden gezet"
244
- : "", !inIframe && gekoppeldePrintplek ? " — gekoppeld aan deze printplek" : "", !inIframe && persistent === false ? " — browseropslag is niet permanent gegarandeerd" : ""] })] }), _jsxs("div", { className: "flex gap-2", children: [naam ? (_jsxs(Button, { size: "sm", variant: inOrde ? "outline" : "default", onClick: () => void geefToestemming(), children: [_jsx(FolderCheck, { className: "mr-2 h-4 w-4" }), inOrde ? "Toestemming controleren" : "Maptoestemming geven"] })) : null, _jsxs(Button, { size: "sm", variant: "outline", onClick: () => void kiesNieuweMap(), children: [_jsx(FolderOpen, { className: "mr-2 h-4 w-4" }), " ", naam ? "Andere map kiezen" : "Map kiezen"] }), inIframe ? (_jsx(Button, { size: "sm", variant: "outline", onClick: () => openInEigenTabblad(printplekId ?? gekoppeldePrintplek ?? undefined), children: "Open in eigen tabblad" })) : null] })] }));
245
- }
@@ -1,24 +0,0 @@
1
- import { supabase } from "./supabaseClient.js";
2
- type PdfServiceState = {
3
- gestart: boolean;
4
- bezig: boolean;
5
- interval: number | null;
6
- gemeldePrinters: Set<string>;
7
- writerId: string;
8
- kanaal?: ReturnType<typeof supabase.channel> | null;
9
- };
10
- declare global {
11
- interface Window {
12
- __layoutMakerPdfService?: PdfServiceState;
13
- }
14
- }
15
- /** Herstelt uitsluitend de lokale aflevering van een reeds gerenderde PDF. */
16
- export declare function bewaarPdfJobOpnieuw(jobId: string): Promise<boolean>;
17
- /** Downloadt exact het opgeslagen artefact; legacy jobs vallen terug op base64. */
18
- export declare function downloadPdfJob(jobId: string, documentnaam: string): Promise<void>;
19
- export declare function controleerPdfMap(printerId: string): Promise<"ok" | "map_ontbreekt" | "geen_rechten">;
20
- export declare function startPdfMapService(): void;
21
- /** Wacht alleen op het eindresultaat; de singleton met databaseclaim schrijft. */
22
- export declare function bewaarPdfJobZodraKlaar(jobId: string, _printerId: string): Promise<boolean>;
23
- export {};
24
- //# sourceMappingURL=pdfJobSaver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdfJobSaver.d.ts","sourceRoot":"","sources":["../../src/lib/pdfJobSaver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAgC5C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CACrD,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,uBAAuB,CAAC,EAAE,eAAe,CAAC;KAC3C;CACF;AA8OD,8EAA8E;AAC9E,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgCzE;AAED,mFAAmF;AACnF,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvF;AAED,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,eAAe,GAAG,cAAc,CAAC,CAI1G;AAoCD,wBAAgB,kBAAkB,IAAI,IAAI,CA+BzC;AAED,kFAAkF;AAClF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAehG"}