@flowselections/layout-maker 1.8.3 → 1.13.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.
- package/README.md +139 -132
- package/dist-lib/components/ComputersLijst.d.ts +2 -1
- package/dist-lib/components/ComputersLijst.d.ts.map +1 -1
- package/dist-lib/components/ComputersLijst.js +2 -2
- package/dist-lib/components/DocumentRouteringPage.d.ts +2 -0
- package/dist-lib/components/DocumentRouteringPage.d.ts.map +1 -0
- package/dist-lib/components/DocumentRouteringPage.js +115 -0
- package/dist-lib/components/LayoutsPage.d.ts.map +1 -1
- package/dist-lib/components/LayoutsPage.js +13 -8
- package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +16 -1
- package/dist-lib/components/PrintStatusBanner.d.ts +8 -0
- package/dist-lib/components/PrintStatusBanner.d.ts.map +1 -0
- package/dist-lib/components/PrintStatusBanner.js +15 -0
- package/dist-lib/components/PrinterSetupWizard.js +1 -1
- package/dist-lib/components/PrintersPage.d.ts.map +1 -1
- package/dist-lib/components/PrintersPage.js +7 -23
- package/dist-lib/components/WerkplekConfiguratiePage.d.ts.map +1 -1
- package/dist-lib/components/WerkplekConfiguratiePage.js +35 -24
- package/dist-lib/components/WerkplekkenTabel.d.ts +2 -2
- package/dist-lib/components/WerkplekkenTabel.d.ts.map +1 -1
- package/dist-lib/components/WerkplekkenTabel.js +4 -3
- package/dist-lib/index.d.ts +8 -3
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +9 -5
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +491 -145
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +491 -145
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +505 -150
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/aiLayout.functions.d.ts +491 -145
- package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
- package/dist-lib/lib/aiLayout.server.js +9 -9
- package/dist-lib/lib/browserPrint.js +5 -5
- package/dist-lib/lib/documentBron.d.ts +35 -0
- package/dist-lib/lib/documentBron.d.ts.map +1 -0
- package/dist-lib/lib/documentBron.js +62 -0
- package/dist-lib/lib/documentRoutering.d.ts +23 -0
- package/dist-lib/lib/documentRoutering.d.ts.map +1 -0
- package/dist-lib/lib/documentRoutering.js +58 -0
- package/dist-lib/lib/documentTypes.d.ts +61 -0
- package/dist-lib/lib/documentTypes.d.ts.map +1 -1
- package/dist-lib/lib/documentTypes.js +64 -0
- package/dist-lib/lib/formaatPrinters.d.ts +5 -0
- package/dist-lib/lib/formaatPrinters.d.ts.map +1 -1
- package/dist-lib/lib/formaatPrinters.js +12 -0
- package/dist-lib/lib/layoutPreview.js +7 -7
- package/dist-lib/lib/pakbonHtml.js +50 -50
- package/dist-lib/lib/printApi.d.ts +20 -5
- package/dist-lib/lib/printApi.d.ts.map +1 -1
- package/dist-lib/lib/printApi.js +93 -32
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +72 -1
- package/dist-lib/lib/printService.functions.d.ts +1964 -580
- package/dist-lib/lib/printService.functions.d.ts.map +1 -1
- package/dist-lib/lib/printerTelling.d.ts +24 -0
- package/dist-lib/lib/printerTelling.d.ts.map +1 -0
- package/dist-lib/lib/printerTelling.js +41 -0
- package/dist-lib/lib/productiebonHtml.js +15 -15
- package/dist-lib/lib/profielHtml.js +18 -18
- package/dist-lib/lib/supabaseAdmin.server.d.ts +5 -5
- package/dist-lib/lib/supabaseAdmin.server.js +43 -43
- package/dist-lib/lib/testpagina.js +1 -1
- package/dist-lib/lib/useDocumentData.d.ts +4 -0
- package/dist-lib/lib/useDocumentData.d.ts.map +1 -1
- package/dist-lib/lib/useDocumentData.js +130 -1
- package/package.json +6 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrintStatusBanner.d.ts","sourceRoot":"","sources":["../../src/components/PrintStatusBanner.tsx"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,kBAAuB,EACvB,gBAAuB,GACxB,EAAE;IACD,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,sCA2CA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// src/components/PrintStatusBanner.tsx — één melding over de printdienst en de
|
|
4
|
+
// werkplekken, zodat Printers en Printwachtrij hetzelfde verhaal vertellen.
|
|
5
|
+
// ============================================================================
|
|
6
|
+
import { Link } from "@tanstack/react-router";
|
|
7
|
+
import { AlertTriangle } from "lucide-react";
|
|
8
|
+
export function PrintStatusBanner({ fout, offlineWerkplekken = [], toonWerkplekLink = true, }) {
|
|
9
|
+
const sleutelProbleem = !!fout && /toegangsbewijs|401|unauthorized|token|sleutel/i.test(fout);
|
|
10
|
+
if (!fout && offlineWerkplekken.length === 0)
|
|
11
|
+
return null;
|
|
12
|
+
return (_jsxs("div", { className: "border-destructive/30 bg-destructive/5 text-destructive space-y-1 rounded-xl border p-4 text-sm", children: [_jsxs("p", { className: "flex items-center gap-2 font-medium", children: [_jsx(AlertTriangle, { className: "h-4 w-4" }), " Er kan nu niet worden afgedrukt"] }), fout && (_jsxs("p", { children: [fout, " ", sleutelProbleem && (_jsxs(_Fragment, { children: ["Controleer de sleutel van de printdienst bij", " ", _jsx(Link, { to: "/instellingen", className: "underline", children: "Instellingen" }), "."] }))] })), offlineWerkplekken.length > 0 && (_jsxs("p", { children: [offlineWerkplekken.length === 1
|
|
13
|
+
? `Werkplek ${offlineWerkplekken[0]} staat uit`
|
|
14
|
+
: `${offlineWerkplekken.length} werkplekken staan uit (${offlineWerkplekken.join(", ")})`, ". Opdrachten blijven wachten tot het printprogramma op die computer draait.", toonWerkplekLink && (_jsxs(_Fragment, { children: [" ", _jsx(Link, { to: "/layouts-printers/printers", className: "underline", children: "Naar werkplekken" })] }))] }))] }));
|
|
15
|
+
}
|
|
@@ -145,7 +145,7 @@ export function PrinterSetupWizard({ open, onOpenChange, onKlaar, computerFilter
|
|
|
145
145
|
const [testStatus, setTestStatus] = useState("leeg");
|
|
146
146
|
const testpagina = async () => {
|
|
147
147
|
setTestStatus("bezig");
|
|
148
|
-
const html = `<div style="padding:20mm;font-size:14pt"><h1 style="font-size:20pt">Testpagina</h1>
|
|
148
|
+
const html = `<div style="padding:20mm;font-size:14pt"><h1 style="font-size:20pt">Testpagina</h1>
|
|
149
149
|
<p>Deze pagina hoort uit: <strong>${naam}</strong></p></div>`;
|
|
150
150
|
const opdracht = {
|
|
151
151
|
documenttype: "pakbon",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrintersPage.d.ts","sourceRoot":"","sources":["../../src/components/PrintersPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrintersPage.d.ts","sourceRoot":"","sources":["../../src/components/PrintersPage.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,YAAY,gCAiP3B"}
|
|
@@ -13,6 +13,8 @@ import { useNetwerkPrinters } from "../lib/useNetwerkPrinters.js";
|
|
|
13
13
|
import { PrinterSetupWizard } from "./PrinterSetupWizard.js";
|
|
14
14
|
import { ComputersLijst, useComputers } from "./ComputersLijst.js";
|
|
15
15
|
import { PrinterStatsKaarten } from "./PrinterStatsKaarten.js";
|
|
16
|
+
import { PrintStatusBanner } from "./PrintStatusBanner.js";
|
|
17
|
+
import { telPrintersPerComputer } from "../lib/printerTelling.js";
|
|
16
18
|
import { WerkplekkenTabel } from "./WerkplekkenTabel.js";
|
|
17
19
|
export function PrintersPage() {
|
|
18
20
|
const { printers, koppelingen, reload } = usePrinters();
|
|
@@ -30,24 +32,7 @@ export function PrintersPage() {
|
|
|
30
32
|
await Promise.all([reload(true), herlaadComputers(true), zoek()]);
|
|
31
33
|
}, 10000, wizard || computerToevoegen);
|
|
32
34
|
const gekoppeldePrinters = useMemo(() => new Set(koppelingen.map((k) => k.printer_id)), [koppelingen]);
|
|
33
|
-
const printersPerComputer = useMemo(() =>
|
|
34
|
-
const externNaarComputer = new Map(gevonden.map((g) => [g.id, g.computer]));
|
|
35
|
-
const map = new Map();
|
|
36
|
-
for (const p of printers) {
|
|
37
|
-
const extern = p.extern_printer_id ?? null;
|
|
38
|
-
const naam = extern ? externNaarComputer.get(extern) : undefined;
|
|
39
|
-
if (!naam)
|
|
40
|
-
continue;
|
|
41
|
-
const rij = map.get(naam) ?? { totaal: 0, gekoppeld: 0, locaties: [] };
|
|
42
|
-
rij.totaal += 1;
|
|
43
|
-
if (gekoppeldePrinters.has(p.id))
|
|
44
|
-
rij.gekoppeld += 1;
|
|
45
|
-
if (p.locatie && !rij.locaties.includes(p.locatie))
|
|
46
|
-
rij.locaties.push(p.locatie);
|
|
47
|
-
map.set(naam, rij);
|
|
48
|
-
}
|
|
49
|
-
return map;
|
|
50
|
-
}, [printers, gevonden, gekoppeldePrinters]);
|
|
35
|
+
const printersPerComputer = useMemo(() => telPrintersPerComputer(printers, gevonden, gekoppeldePrinters), [printers, gevonden, gekoppeldePrinters]);
|
|
51
36
|
const alleRijen = computers.map((c) => {
|
|
52
37
|
const info = printersPerComputer.get(c.naam);
|
|
53
38
|
return {
|
|
@@ -55,8 +40,7 @@ export function PrintersPage() {
|
|
|
55
40
|
naam: c.naam,
|
|
56
41
|
online: c.online,
|
|
57
42
|
locatie: info?.locaties.join(" · ") || "Geen locatie",
|
|
58
|
-
|
|
59
|
-
aantalGekoppeld: info?.gekoppeld ?? 0,
|
|
43
|
+
telling: info ?? { gevonden: c.aantalGevonden, ingesteld: 0, gekoppeld: 0, locaties: [] },
|
|
60
44
|
};
|
|
61
45
|
});
|
|
62
46
|
const locaties = Array.from(new Set(alleRijen.map((r) => r.locatie))).filter((l) => l !== "Geen locatie");
|
|
@@ -77,7 +61,7 @@ export function PrintersPage() {
|
|
|
77
61
|
.map((p) => p.extern_printer_id ?? null)
|
|
78
62
|
.filter((e) => !!e);
|
|
79
63
|
const bekendeLocaties = Array.from(new Set(printers.map((p) => p.locatie).filter((l) => !!l)));
|
|
80
|
-
return (_jsxs("main", { className: "space-y-6 p-6", children: [_jsxs("div", { className: "flex flex-wrap items-end justify-between gap-4", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-xl font-semibold", children: "Printers" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Beheer per werkplek welke computer is aangemeld en welke printers worden gebruikt." })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "ghost", asChild: true, children: _jsxs(Link, { to: "/layouts-printers/wachtrij", children: [_jsx(ListChecks, { className: "mr-2 h-4 w-4" }), " Printwachtrij"] }) }), _jsxs(Button, { onClick: () => setComputerToevoegen(true), children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), " Computer toevoegen"] })] })] }), _jsx(PrinterStatsKaarten, { kaarten: [
|
|
64
|
+
return (_jsxs("main", { className: "space-y-6 p-6", children: [_jsxs("div", { className: "flex flex-wrap items-end justify-between gap-4", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-xl font-semibold", children: "Printers" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Beheer per werkplek welke computer is aangemeld en welke printers worden gebruikt." })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "ghost", asChild: true, children: _jsxs(Link, { to: "/layouts-printers/routering", children: [_jsx(FileText, { className: "mr-2 h-4 w-4" }), " Routering"] }) }), _jsx(Button, { variant: "ghost", asChild: true, children: _jsxs(Link, { to: "/layouts-printers/wachtrij", children: [_jsx(ListChecks, { className: "mr-2 h-4 w-4" }), " Printwachtrij"] }) }), _jsxs(Button, { onClick: () => setComputerToevoegen(true), children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), " Computer toevoegen"] })] })] }), _jsx(PrintStatusBanner, { fout: computersFout, offlineWerkplekken: computers.filter((c) => !c.online).map((c) => c.naam), toonWerkplekLink: false }), _jsx(PrinterStatsKaarten, { kaarten: [
|
|
81
65
|
{
|
|
82
66
|
label: "Werkplekken",
|
|
83
67
|
waarde: String(computers.length),
|
|
@@ -85,9 +69,9 @@ export function PrintersPage() {
|
|
|
85
69
|
icon: Monitor,
|
|
86
70
|
},
|
|
87
71
|
{
|
|
88
|
-
label: "
|
|
72
|
+
label: "Printers",
|
|
89
73
|
waarde: String(printers.length),
|
|
90
|
-
toelichting:
|
|
74
|
+
toelichting: `Ingesteld · ${gevonden.length} gevonden op de werkplekken`,
|
|
91
75
|
icon: Printer,
|
|
92
76
|
},
|
|
93
77
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WerkplekConfiguratiePage.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekConfiguratiePage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WerkplekConfiguratiePage.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekConfiguratiePage.tsx"],"names":[],"mappings":"AAwCA,wBAAgB,wBAAwB,gCA2TvC"}
|
|
@@ -4,28 +4,31 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
4
4
|
// printers op deze computer en welke ontwerpen er worden afgedrukt.
|
|
5
5
|
// ============================================================================
|
|
6
6
|
import { useMemo, useState } from "react";
|
|
7
|
-
import { Button, Card, CardContent, CardDescription, CardHeader, CardTitle,
|
|
7
|
+
import { Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, toast, } from "@flowselections/core";
|
|
8
8
|
import { Link, useParams } from "@tanstack/react-router";
|
|
9
9
|
import { ChevronRight, Monitor, Plus, Printer, Search } from "lucide-react";
|
|
10
10
|
import { bijgewerktTekst, useAutoRefresh } from "../lib/useAutoRefresh.js";
|
|
11
|
-
import {
|
|
11
|
+
import { usePrinters, verwijderPrinter } from "../lib/useDocumentData.js";
|
|
12
12
|
import { useNetwerkPrinters } from "../lib/useNetwerkPrinters.js";
|
|
13
13
|
import { drukTestpaginaAf } from "../lib/testpagina.js";
|
|
14
|
+
import { DOCUMENT_TYPES, documentTypeLabel } from "../lib/documentTypes.js";
|
|
15
|
+
import { useWerkplekPrinters, verwijderWerkplekPrinter, zetWerkplekPrinter, } from "../lib/documentRoutering.js";
|
|
16
|
+
import { printerTellingTekst, telPrintersPerComputer } from "../lib/printerTelling.js";
|
|
14
17
|
import { useComputers } from "./ComputersLijst.js";
|
|
15
18
|
import { PrinterKaart } from "./PrinterKaart.js";
|
|
16
19
|
import { PrinterSetupWizard } from "./PrinterSetupWizard.js";
|
|
20
|
+
const VOLG_ROUTERING = "volg-routering";
|
|
17
21
|
export function WerkplekConfiguratiePage() {
|
|
18
22
|
const params = useParams({ strict: false });
|
|
19
23
|
const computerId = params.computerId ?? "";
|
|
20
24
|
const { printers, koppelingen, reload } = usePrinters();
|
|
21
|
-
const { layouts } = useLayouts();
|
|
22
25
|
const { computers, reload: herlaadComputers } = useComputers();
|
|
23
26
|
const { gevonden, zoek } = useNetwerkPrinters();
|
|
27
|
+
const { koppelingen: routering, reload: herlaadRoutering } = useWerkplekPrinters();
|
|
24
28
|
const [wizard, setWizard] = useState(false);
|
|
25
29
|
const [bewerken, setBewerken] = useState(null);
|
|
26
30
|
const [gekozenPrinter, setGekozenPrinter] = useState(null);
|
|
27
31
|
const [zoekComputer, setZoekComputer] = useState("");
|
|
28
|
-
const [layoutZoek, setLayoutZoek] = useState("");
|
|
29
32
|
const bijgewerkt = useAutoRefresh(async () => {
|
|
30
33
|
await Promise.all([reload(true), herlaadComputers(true), zoek()]);
|
|
31
34
|
}, 10000, wizard);
|
|
@@ -36,15 +39,6 @@ export function WerkplekConfiguratiePage() {
|
|
|
36
39
|
map.set(g.id, g);
|
|
37
40
|
return map;
|
|
38
41
|
}, [gevonden]);
|
|
39
|
-
const gekoppeld = useMemo(() => {
|
|
40
|
-
const map = new Map();
|
|
41
|
-
for (const k of koppelingen) {
|
|
42
|
-
if (!map.has(k.printer_id))
|
|
43
|
-
map.set(k.printer_id, new Set());
|
|
44
|
-
map.get(k.printer_id).add(k.layout_id);
|
|
45
|
-
}
|
|
46
|
-
return map;
|
|
47
|
-
}, [koppelingen]);
|
|
48
42
|
const rijen = printers
|
|
49
43
|
.map((p) => {
|
|
50
44
|
const extern = p.extern_printer_id ?? null;
|
|
@@ -53,8 +47,26 @@ export function WerkplekConfiguratiePage() {
|
|
|
53
47
|
})
|
|
54
48
|
.filter((r) => (computer ? r.computer === computer.naam : false));
|
|
55
49
|
const actievePrinter = printers.find((p) => p.id === gekozenPrinter) ?? null;
|
|
50
|
+
const tellingen = useMemo(() => telPrintersPerComputer(printers, gevonden, new Set(koppelingen.map((k) => k.printer_id))), [printers, gevonden, koppelingen]);
|
|
51
|
+
const werkplekNaam = computer?.naam ?? "";
|
|
52
|
+
const eigenRoutering = routering.filter((r) => r.werkplek === werkplekNaam);
|
|
53
|
+
const zetDocument = async (documenttype, printerId) => {
|
|
54
|
+
if (!werkplekNaam)
|
|
55
|
+
return;
|
|
56
|
+
try {
|
|
57
|
+
const bestaand = eigenRoutering.find((r) => r.documenttype === documenttype);
|
|
58
|
+
if (!printerId && bestaand)
|
|
59
|
+
await verwijderWerkplekPrinter(bestaand.id);
|
|
60
|
+
else
|
|
61
|
+
await zetWerkplekPrinter(documenttype, werkplekNaam, printerId);
|
|
62
|
+
await herlaadRoutering();
|
|
63
|
+
toast.success("Opgeslagen");
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
toast.error("Opslaan mislukt");
|
|
67
|
+
}
|
|
68
|
+
};
|
|
56
69
|
const zichtbareComputers = computers.filter((c) => zoekComputer.trim() ? c.naam.toLowerCase().includes(zoekComputer.trim().toLowerCase()) : true);
|
|
57
|
-
const zichtbareLayouts = layouts.filter((l) => layoutZoek.trim() ? l.naam.toLowerCase().includes(layoutZoek.trim().toLowerCase()) : true);
|
|
58
70
|
const bekendeExterneIds = printers
|
|
59
71
|
.map((p) => p.extern_printer_id ?? null)
|
|
60
72
|
.filter((e) => !!e);
|
|
@@ -62,9 +74,12 @@ export function WerkplekConfiguratiePage() {
|
|
|
62
74
|
return (_jsxs("main", { className: "space-y-6 p-6", children: [_jsxs("div", { className: "text-muted-foreground flex items-center gap-1 text-sm", children: [_jsx(Link, { to: "/layouts-printers/printers", className: "hover:text-foreground", children: "Printers" }), _jsx(ChevronRight, { className: "h-3.5 w-3.5" }), _jsx("span", { className: "text-foreground", children: computer?.naam ?? "Werkplek" })] }), _jsxs("div", { className: "flex flex-wrap items-end justify-between gap-4", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-xl font-semibold", children: "Werkplek configureren" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Kies welke printers op deze computer welke ontwerpen afdrukken." })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-muted-foreground text-xs", children: bijgewerktTekst(bijgewerkt) }), _jsxs(Button, { onClick: () => {
|
|
63
75
|
setBewerken(null);
|
|
64
76
|
setWizard(true);
|
|
65
|
-
}, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), " Printer toevoegen"] })] })] }), _jsxs("div", { className: "grid gap-6 lg:grid-cols-[300px_1fr]", children: [_jsxs(Card, { className: "h-fit", children: [_jsx(CardHeader, { className: "pb-3", children: _jsx(CardTitle, { className: "text-base", children: "Werkplekken" }) }), _jsxs(CardContent, { className: "space-y-2", children: [_jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground absolute top-2.5 left-3 h-4 w-4" }), _jsx(Input, { className: "pl-9", placeholder: "Zoek werkplek", value: zoekComputer, onChange: (e) => setZoekComputer(e.target.value) })] }), zichtbareComputers.map((c) => (_jsxs(Link, { to: "/layouts-printers/printers/$computerId", params: { computerId: c.id }, className: `flex items-center gap-3 rounded-lg border p-3 text-sm transition ${c.id === computerId ? "border-primary ring-primary/20 ring-2" : "hover:bg-muted/50"}`, children: [_jsx("span", { className: `h-2 w-2 shrink-0 rounded-full ${c.online ? "bg-primary" : "bg-muted-foreground/40"}` }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate font-medium", children: c.naam }),
|
|
66
|
-
? `${computer.online ? "Aan" : "Uit"} · ${
|
|
67
|
-
: "Deze computer is niet gevonden. Staat hij aan?" })] }) }), _jsxs(
|
|
77
|
+
}, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), " Printer toevoegen"] })] })] }), _jsxs("div", { className: "grid gap-6 lg:grid-cols-[300px_1fr]", children: [_jsxs(Card, { className: "h-fit", children: [_jsx(CardHeader, { className: "pb-3", children: _jsx(CardTitle, { className: "text-base", children: "Werkplekken" }) }), _jsxs(CardContent, { className: "space-y-2", children: [_jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground absolute top-2.5 left-3 h-4 w-4" }), _jsx(Input, { className: "pl-9", placeholder: "Zoek werkplek", value: zoekComputer, onChange: (e) => setZoekComputer(e.target.value) })] }), zichtbareComputers.map((c) => (_jsxs(Link, { to: "/layouts-printers/printers/$computerId", params: { computerId: c.id }, className: `flex items-center gap-3 rounded-lg border p-3 text-sm transition ${c.id === computerId ? "border-primary ring-primary/20 ring-2" : "hover:bg-muted/50"}`, children: [_jsx("span", { className: `h-2 w-2 shrink-0 rounded-full ${c.online ? "bg-primary" : "bg-muted-foreground/40"}` }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate font-medium", children: c.naam }), _jsx("span", { className: "text-muted-foreground block text-xs", children: printerTellingTekst(tellingen.get(c.naam)) })] }), _jsx(ChevronRight, { className: "text-muted-foreground h-4 w-4" })] }, c.id))), zichtbareComputers.length === 0 && (_jsx("p", { className: "text-muted-foreground text-sm", children: "Geen werkplekken gevonden." }))] })] }), _jsxs("div", { className: "space-y-6", children: [_jsx(Card, { children: _jsxs(CardHeader, { className: "pb-3", children: [_jsxs(CardTitle, { className: "flex items-center gap-2 text-base", children: [_jsx(Monitor, { className: "h-4 w-4" }), " ", computer?.naam ?? "Onbekende werkplek"] }), _jsx(CardDescription, { children: computer
|
|
78
|
+
? `${computer.online ? "Aan" : "Uit"} · ${printerTellingTekst(tellingen.get(computer.naam))}`
|
|
79
|
+
: "Deze computer is niet gevonden. Staat hij aan?" })] }) }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "pb-3", children: [_jsx(CardTitle, { className: "text-base", children: "Wat print deze werkplek" }), _jsxs(CardDescription, { children: ["Kies per documentsoort de printer op deze werkplek. Staat er \"Volg routering\", dan geldt de standaardprinter uit", " ", _jsx(Link, { to: "/layouts-printers/routering", className: "text-foreground underline", children: "Routering" }), "."] })] }), _jsxs(CardContent, { className: "grid gap-2 sm:grid-cols-2", children: [DOCUMENT_TYPES.map((d) => {
|
|
80
|
+
const huidig = eigenRoutering.find((r) => r.documenttype === d.value);
|
|
81
|
+
return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "min-w-0 flex-1 truncate text-sm", children: documentTypeLabel(d.value) }), _jsxs(Select, { value: huidig?.printer_id ?? VOLG_ROUTERING, onValueChange: (v) => void zetDocument(d.value, v === VOLG_ROUTERING ? null : v), children: [_jsx(SelectTrigger, { className: "w-52", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: VOLG_ROUTERING, children: "Volg routering" }), rijen.map(({ printer }) => (_jsx(SelectItem, { value: printer.id, children: printer.naam }, printer.id)))] })] })] }, d.value));
|
|
82
|
+
}), rijen.length === 0 && (_jsx("p", { className: "text-muted-foreground text-sm", children: "Voeg eerst een printer toe op deze werkplek." }))] })] }), _jsxs("div", { className: "grid gap-6 xl:grid-cols-[1fr_340px]", children: [_jsxs("div", { className: "space-y-3", children: [rijen.length === 0 && (_jsx(Card, { children: _jsxs(CardContent, { className: "space-y-4 py-10 text-center", children: [_jsx(Printer, { className: "text-muted-foreground mx-auto h-8 w-8" }), _jsx("p", { className: "text-sm font-medium", children: "Nog geen printers op deze werkplek" }), _jsx(Button, { onClick: () => {
|
|
68
83
|
setBewerken(null);
|
|
69
84
|
setWizard(true);
|
|
70
85
|
}, children: "Printer toevoegen" })] }) })), rijen.map(({ printer, online }) => (_jsx(PrinterKaart, { printer: printer, computer: computer?.naam ?? null, beschikbaar: online, gekozen: printer.id === gekozenPrinter, onKies: () => setGekozenPrinter(printer.id), onTest: () => void drukTestpaginaAf(printer.id, printer.naam), onBewerk: () => {
|
|
@@ -84,13 +99,9 @@ export function WerkplekConfiguratiePage() {
|
|
|
84
99
|
catch {
|
|
85
100
|
toast.error("Verwijderen mislukt");
|
|
86
101
|
}
|
|
87
|
-
} }, printer.id)))] }), actievePrinter && (_jsxs(Card, { className: "h-fit", children: [_jsxs(CardHeader, { className: "pb-3", children: [_jsx(CardTitle, { className: "text-base", children: "
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
await toggleKoppeling(l.id, actievePrinter.id, !!v);
|
|
91
|
-
void reload();
|
|
92
|
-
} }), _jsxs("div", { className: "min-w-0", children: [_jsx("span", { className: "block truncate text-sm", children: l.naam }), _jsx("span", { className: "text-muted-foreground text-xs", children: l.papierformaat })] })] }, l.id));
|
|
93
|
-
}), zichtbareLayouts.length === 0 && (_jsx("p", { className: "text-muted-foreground text-sm", children: "Er zijn nog geen ontwerpen." }))] })] }))] })] })] }), _jsx(PrinterSetupWizard, { open: wizard, onOpenChange: (v) => {
|
|
102
|
+
} }, printer.id)))] }), actievePrinter && (_jsxs(Card, { className: "h-fit", children: [_jsxs(CardHeader, { className: "pb-3", children: [_jsx(CardTitle, { className: "text-base", children: "Documenten op deze printer" }), _jsx(CardDescription, { children: actievePrinter.naam })] }), _jsx(CardContent, { className: "space-y-2", children: eigenRoutering.filter((r) => r.printer_id === actievePrinter.id).length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "Nog geen documentsoorten naar deze printer gestuurd. Stel dat hierboven in bij \"Wat print deze werkplek\"." })) : (eigenRoutering
|
|
103
|
+
.filter((r) => r.printer_id === actievePrinter.id)
|
|
104
|
+
.map((r) => (_jsx("p", { className: "truncate text-sm", children: documentTypeLabel(r.documenttype) }, r.id)))) })] }))] })] })] }), _jsx(PrinterSetupWizard, { open: wizard, onOpenChange: (v) => {
|
|
94
105
|
setWizard(v);
|
|
95
106
|
if (!v)
|
|
96
107
|
setBewerken(null);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { type PrinterTelling } from "../lib/printerTelling.js";
|
|
1
2
|
export interface WerkplekRij {
|
|
2
3
|
id: string;
|
|
3
4
|
naam: string;
|
|
4
5
|
online: boolean;
|
|
5
6
|
locatie: string;
|
|
6
|
-
|
|
7
|
-
aantalGekoppeld: number;
|
|
7
|
+
telling: PrinterTelling;
|
|
8
8
|
}
|
|
9
9
|
export declare function WerkplekkenTabel({ rijen, onPrinterToevoegen, onVernieuw, }: {
|
|
10
10
|
rijen: WerkplekRij[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WerkplekkenTabel.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekkenTabel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WerkplekkenTabel.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekkenTabel.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,kBAAkB,EAClB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,+BA4EA"}
|
|
@@ -6,11 +6,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@flowselections/core";
|
|
7
7
|
import { Link } from "@tanstack/react-router";
|
|
8
8
|
import { MoreVertical, Plus, RefreshCw } from "lucide-react";
|
|
9
|
+
import { printerTellingTekst } from "../lib/printerTelling.js";
|
|
9
10
|
export function WerkplekkenTabel({ rijen, onPrinterToevoegen, onVernieuw, }) {
|
|
10
11
|
return (_jsx("div", { className: "overflow-x-auto rounded-xl border", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "Werkplek" }), _jsx(TableHead, { children: "Locatie" }), _jsx(TableHead, { children: "Status" }), _jsx(TableHead, { children: "Printers" }), _jsx(TableHead, { className: "text-right", children: "Acties" })] }) }), _jsx(TableBody, { children: rijen.map((r) => {
|
|
11
|
-
const deel = r.
|
|
12
|
-
? Math.round((r.
|
|
12
|
+
const deel = r.telling.gevonden
|
|
13
|
+
? Math.round((r.telling.ingesteld / r.telling.gevonden) * 100)
|
|
13
14
|
: 0;
|
|
14
|
-
return (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "font-medium", children: r.naam }), _jsx(TableCell, { className: "text-muted-foreground", children: r.locatie }), _jsx(TableCell, { children: _jsxs("span", { className: "flex items-center gap-2 text-sm", children: [_jsx("span", { className: `h-2 w-2 rounded-full ${r.online ? "bg-primary" : "bg-muted-foreground/40"}` }), r.online ? "Aan" : "Uit"] }) }), _jsx(TableCell, { children: _jsxs("div", { className: "w-40 space-y-1", children: [
|
|
15
|
+
return (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "font-medium", children: r.naam }), _jsx(TableCell, { className: "text-muted-foreground", children: r.locatie }), _jsx(TableCell, { children: _jsxs("span", { className: "flex items-center gap-2 text-sm", children: [_jsx("span", { className: `h-2 w-2 rounded-full ${r.online ? "bg-primary" : "bg-muted-foreground/40"}` }), r.online ? "Aan" : "Uit"] }) }), _jsx(TableCell, { children: _jsxs("div", { className: "w-40 space-y-1", children: [_jsx("span", { className: "text-sm", children: printerTellingTekst(r.telling) }), _jsx("div", { className: "bg-muted h-1.5 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "bg-primary h-full", style: { width: `${deel}%` } }) })] }) }), _jsx(TableCell, { className: "text-right", children: _jsxs("div", { className: "flex justify-end gap-1", children: [_jsx(Button, { variant: "outline", size: "sm", asChild: true, children: _jsx(Link, { to: "/layouts-printers/printers/$computerId", params: { computerId: r.id }, children: "Configureren" }) }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "sm", "aria-label": "Meer", children: _jsx(MoreVertical, { className: "h-4 w-4" }) }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsxs(DropdownMenuItem, { onSelect: () => onPrinterToevoegen(r.naam), children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), " Printer toevoegen"] }), _jsxs(DropdownMenuItem, { onSelect: () => onVernieuw(), children: [_jsx(RefreshCw, { className: "mr-2 h-4 w-4" }), " Gegevens vernieuwen"] })] })] })] }) })] }, r.id));
|
|
15
16
|
}) })] }) }));
|
|
16
17
|
}
|
package/dist-lib/index.d.ts
CHANGED
|
@@ -32,15 +32,20 @@ export { LOGO_BUCKET, LOGO_CATEGORIEEN, OPSLAG_ONTBREEKT, TOEGESTANE_LOGO_TYPES,
|
|
|
32
32
|
export type { LogoModel, UploadInput } from './lib/logoLibrary.js';
|
|
33
33
|
export { DOCUMENT_PROFIELEN, STICKER_FORMATEN, VERZENDLABEL_FORMATEN, configWaarde, documentProfiel, primaireProfielen, standaardConfig } from './lib/documentProfiles.js';
|
|
34
34
|
export type { DocumentConfig, DocumentProfiel, InstellingDef, InstellingGroep, InstellingType } from './lib/documentProfiles.js';
|
|
35
|
-
export { printerVoorFormaat, useFormaatPrinters, zetFormaatPrinter } from './lib/formaatPrinters.js';
|
|
35
|
+
export { printerVoorFormaat, useAlleFormaatPrinters, useFormaatPrinters, zetFormaatPrinter } from './lib/formaatPrinters.js';
|
|
36
|
+
export { BRONNEN, HERKOMSTEN, bronVoorDocument, useBronregels, verwijderBronregel, zetBronregel } from './lib/documentBron.js';
|
|
37
|
+
export type { Bron, Bronregel, Herkomst } from './lib/documentBron.js';
|
|
38
|
+
export { printerVoorWerkplekDocument, useWerkplekPrinters, verwijderWerkplekPrinter, zetWerkplekPrinter } from './lib/documentRoutering.js';
|
|
39
|
+
export type { WerkplekPrinter } from './lib/documentRoutering.js';
|
|
40
|
+
export { DocumentRouteringPage } from './components/DocumentRouteringPage.js';
|
|
36
41
|
export type { FormaatPrinter } from './lib/formaatPrinters.js';
|
|
37
42
|
export { DocumentSettingsPanel } from './components/DocumentSettingsPanel.js';
|
|
38
|
-
export { DOCUMENT_TYPES, ELEMENT_STANDAARD, PAPIERFORMATEN, STANDAARD_KOLOMMEN, STANDAARD_STIJL, documentTypeLabel } from './lib/documentTypes.js';
|
|
43
|
+
export { DOCUMENT_TYPES, ELEMENT_STANDAARD, FLORIDAY_LAYOUT_TOELICHTING, FLORIDAY_SYSTEEM_LAYOUTS, PAPIERFORMATEN, STANDAARD_KOLOMMEN, STANDAARD_LAYOUTS, STANDAARD_LAYOUT_TOELICHTING, STANDAARD_STIJL, documentTypeLabel, isFloridayLayout } from './lib/documentTypes.js';
|
|
39
44
|
export type { DocumentType, ElementConditie, ElementConfig, ElementStijl, ElementType, LayoutElementModel, LayoutModel, LayoutVariabele, PageSettings, PapierFormaatDef, TabelKolom } from './lib/documentTypes.js';
|
|
40
45
|
export { alleEntiteiten, alleVelden, registreerEntiteit, veldRegisterSubscribe, zoekVeld } from './lib/fieldRegistry.js';
|
|
41
46
|
export type { EntiteitDefinitie, VeldDefinitie, VeldSoort } from './lib/fieldRegistry.js';
|
|
42
47
|
export { VOORBEELD_REGELS, bouwDocumentHtml, conditieVoldoet, voorbeeldContext, vulVelden } from './lib/layoutPreview.js';
|
|
43
|
-
export { bewaarElementen, bewaarPrinter, bewaarVersie, dupliceerLayout, maakLayout, maakPrintJob, toggleKoppeling, updateJobStatus, updateLayout, useLayoutDetail, useLayouts, usePrintJobs, usePrinters, useVersies, verwijderLayout, verwijderPrinter } from './lib/useDocumentData.js';
|
|
48
|
+
export { bewaarElementen, bewaarPrinter, bewaarVersie, dupliceerLayout, maakLayout, maakPrintJob, toggleKoppeling, updateJobStatus, updateLayout, useLayoutDetail, useLayouts, usePrintJobs, usePrinters, useVersies, verwijderLayout, verwijderPrinter, zorgVoorFloridayLayouts } from './lib/useDocumentData.js';
|
|
44
49
|
export type { PrintJobModel, PrinterModel } from './lib/useDocumentData.js';
|
|
45
50
|
export { beschikbareLayouts, beschikbarePrinters, printDocument, printPdf, printHtml, printerVoorWerkplek, printerVoorDocumenttype, volgJobStatus, DubbeleAanvraagFout, } from './lib/printApi.js';
|
|
46
51
|
export type { PrintDocumentInput, PrintDocumentResult, PrintPdfInput, PrintHtmlInput, JobStatus, } from './lib/printApi.js';
|
package/dist-lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzc,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC5P,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxJ,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACha,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7N,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChX,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxK,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9H,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist-lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// ============================================================================
|
|
2
2
|
// src/index.ts — MODULE CONTRACT (layout-maker)
|
|
3
3
|
// ============================================================================
|
|
4
|
-
import { LayoutTemplate, Printer, FileText, ListChecks, Image } from "lucide-react";
|
|
4
|
+
import { LayoutTemplate, Printer, FileText, ListChecks, Image, Route } from "lucide-react";
|
|
5
5
|
import './_core-safelist.js';
|
|
6
6
|
export { LayoutsPage } from './components/LayoutsPage.js';
|
|
7
7
|
export { PrintProgrammaUitleg, WerktHetNiet } from './components/PrintProgrammaUitleg.js';
|
|
@@ -29,12 +29,15 @@ export { BELADING_LABELS, DEMO_PRODUCTIEBON, EXTRA_LABELS, FUST_LABELS, LETTERTY
|
|
|
29
29
|
export { LogoBibliotheekDialog } from './components/LogoBibliotheekDialog.js';
|
|
30
30
|
export { LOGO_BUCKET, LOGO_CATEGORIEEN, OPSLAG_ONTBREEKT, TOEGESTANE_LOGO_TYPES, bestaatHash, bestandHash, bestandstypeVan, controleerLogoOpslag, downloadLogo, formatteerBytes, haalLogos, haalPrintLogos, leesAfmetingen, logoCategorieLabel, maakLogo, useLogoOpslag, useLogos, vertaalOpslagFout, vervangLogoBestand, verwijderLogo, werkLogoBij } from './lib/logoLibrary.js';
|
|
31
31
|
export { DOCUMENT_PROFIELEN, STICKER_FORMATEN, VERZENDLABEL_FORMATEN, configWaarde, documentProfiel, primaireProfielen, standaardConfig } from './lib/documentProfiles.js';
|
|
32
|
-
export { printerVoorFormaat, useFormaatPrinters, zetFormaatPrinter } from './lib/formaatPrinters.js';
|
|
32
|
+
export { printerVoorFormaat, useAlleFormaatPrinters, useFormaatPrinters, zetFormaatPrinter } from './lib/formaatPrinters.js';
|
|
33
|
+
export { BRONNEN, HERKOMSTEN, bronVoorDocument, useBronregels, verwijderBronregel, zetBronregel } from './lib/documentBron.js';
|
|
34
|
+
export { printerVoorWerkplekDocument, useWerkplekPrinters, verwijderWerkplekPrinter, zetWerkplekPrinter } from './lib/documentRoutering.js';
|
|
35
|
+
export { DocumentRouteringPage } from './components/DocumentRouteringPage.js';
|
|
33
36
|
export { DocumentSettingsPanel } from './components/DocumentSettingsPanel.js';
|
|
34
|
-
export { DOCUMENT_TYPES, ELEMENT_STANDAARD, PAPIERFORMATEN, STANDAARD_KOLOMMEN, STANDAARD_STIJL, documentTypeLabel } from './lib/documentTypes.js';
|
|
37
|
+
export { DOCUMENT_TYPES, ELEMENT_STANDAARD, FLORIDAY_LAYOUT_TOELICHTING, FLORIDAY_SYSTEEM_LAYOUTS, PAPIERFORMATEN, STANDAARD_KOLOMMEN, STANDAARD_LAYOUTS, STANDAARD_LAYOUT_TOELICHTING, STANDAARD_STIJL, documentTypeLabel, isFloridayLayout } from './lib/documentTypes.js';
|
|
35
38
|
export { alleEntiteiten, alleVelden, registreerEntiteit, veldRegisterSubscribe, zoekVeld } from './lib/fieldRegistry.js';
|
|
36
39
|
export { VOORBEELD_REGELS, bouwDocumentHtml, conditieVoldoet, voorbeeldContext, vulVelden } from './lib/layoutPreview.js';
|
|
37
|
-
export { bewaarElementen, bewaarPrinter, bewaarVersie, dupliceerLayout, maakLayout, maakPrintJob, toggleKoppeling, updateJobStatus, updateLayout, useLayoutDetail, useLayouts, usePrintJobs, usePrinters, useVersies, verwijderLayout, verwijderPrinter } from './lib/useDocumentData.js';
|
|
40
|
+
export { bewaarElementen, bewaarPrinter, bewaarVersie, dupliceerLayout, maakLayout, maakPrintJob, toggleKoppeling, updateJobStatus, updateLayout, useLayoutDetail, useLayouts, usePrintJobs, usePrinters, useVersies, verwijderLayout, verwijderPrinter, zorgVoorFloridayLayouts } from './lib/useDocumentData.js';
|
|
38
41
|
export { beschikbareLayouts, beschikbarePrinters, printDocument, printPdf, printHtml, printerVoorWerkplek, printerVoorDocumenttype, volgJobStatus, DubbeleAanvraagFout, } from './lib/printApi.js';
|
|
39
42
|
export { bedoeldePrinter, drukAf, formaatDef, paginaCss } from './lib/browserPrint.js';
|
|
40
43
|
export { printDirect } from './lib/directPrint.js';
|
|
@@ -51,7 +54,7 @@ export { TemplateModuleLogo } from './components/TemplateModuleLogo.js';
|
|
|
51
54
|
export const layoutmodule = {
|
|
52
55
|
id: "layout-maker",
|
|
53
56
|
name: "Layouts en printers",
|
|
54
|
-
version: "1.
|
|
57
|
+
version: "1.13.2",
|
|
55
58
|
nav: {
|
|
56
59
|
label: "Layouts en printers",
|
|
57
60
|
href: "/layouts-printers",
|
|
@@ -59,6 +62,7 @@ export const layoutmodule = {
|
|
|
59
62
|
children: [
|
|
60
63
|
{ label: "Layouts", href: "/layouts-printers", icon: FileText },
|
|
61
64
|
{ label: "Printers", href: "/layouts-printers/printers", icon: Printer },
|
|
65
|
+
{ label: "Routering", href: "/layouts-printers/routering", icon: Route },
|
|
62
66
|
{ label: "Printwachtrij", href: "/layouts-printers/wachtrij", icon: ListChecks },
|
|
63
67
|
{ label: "Logo's", href: "/layouts-printers/logos", icon: Image },
|
|
64
68
|
],
|