@flowselections/layout-maker 1.59.2 → 1.62.1
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/LivePrintstatusRegel.d.ts.map +1 -1
- package/dist-lib/components/LivePrintstatusRegel.js +29 -29
- package/dist-lib/components/PrintInstallatiesBlok.d.ts +3 -0
- package/dist-lib/components/PrintInstallatiesBlok.d.ts.map +1 -0
- package/dist-lib/components/PrintInstallatiesBlok.js +29 -0
- package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +27 -8
- package/dist-lib/components/PrintStatusBanner.d.ts.map +1 -1
- package/dist-lib/components/PrintStatusBanner.js +3 -1
- package/dist-lib/components/PrintenInstellenWizard.d.ts.map +1 -1
- package/dist-lib/components/PrintenInstellenWizard.js +14 -1
- package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
- package/dist-lib/components/PrintplekDetailPage.js +18 -5
- package/dist-lib/components/WerkplekOmzettingStap.d.ts.map +1 -1
- package/dist-lib/components/WerkplekOmzettingStap.js +2 -1
- package/dist-lib/components/WerkplekkenTab.d.ts.map +1 -1
- package/dist-lib/components/WerkplekkenTab.js +27 -3
- package/dist-lib/index.d.ts +2 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +5 -3
- package/dist-lib/integrations/supabase/types.d.ts +441 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/computerKoppeling.d.ts +47 -0
- package/dist-lib/lib/computerKoppeling.d.ts.map +1 -0
- package/dist-lib/lib/computerKoppeling.js +48 -0
- package/dist-lib/lib/etiketControle.d.ts +8 -0
- package/dist-lib/lib/etiketControle.d.ts.map +1 -1
- package/dist-lib/lib/etiketControle.js +7 -2
- package/dist-lib/lib/foutTekst.d.ts +6 -0
- package/dist-lib/lib/foutTekst.d.ts.map +1 -1
- package/dist-lib/lib/foutTekst.js +46 -16
- package/dist-lib/lib/layoutVerwijzingen.js +1 -1
- package/dist-lib/lib/printApi.d.ts +1 -1
- package/dist-lib/lib/printApi.d.ts.map +1 -1
- package/dist-lib/lib/printApi.js +5 -4
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +16 -2
- package/dist-lib/lib/printService.functions.d.ts +129 -0
- package/dist-lib/lib/printService.functions.d.ts.map +1 -1
- package/dist-lib/lib/printService.functions.js +113 -2
- package/dist-lib/lib/printnodeStatus.d.ts +1 -0
- package/dist-lib/lib/printnodeStatus.d.ts.map +1 -1
- package/dist-lib/lib/printnodeStatus.js +4 -2
- package/dist-lib/lib/printnodeWebhook.d.ts +12 -0
- package/dist-lib/lib/printnodeWebhook.d.ts.map +1 -1
- package/dist-lib/lib/printnodeWebhook.js +27 -1
- package/dist-lib/lib/printplekken.d.ts +3 -1
- package/dist-lib/lib/printplekken.d.ts.map +1 -1
- package/dist-lib/lib/printplekken.js +6 -3
- package/dist-lib/lib/queueTick.d.ts.map +1 -1
- package/dist-lib/lib/queueTick.js +9 -0
- package/dist-lib/lib/runnerRegistry.server.d.ts +5 -0
- package/dist-lib/lib/runnerRegistry.server.d.ts.map +1 -1
- package/dist-lib/lib/runnerRegistry.server.js +22 -1
- package/dist-lib/lib/shellPoort.d.ts +21 -0
- package/dist-lib/lib/shellPoort.d.ts.map +1 -0
- package/dist-lib/lib/shellPoort.js +43 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LivePrintstatusRegel.d.ts","sourceRoot":"","sources":["../../src/components/LivePrintstatusRegel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LivePrintstatusRegel.d.ts","sourceRoot":"","sources":["../../src/components/LivePrintstatusRegel.tsx"],"names":[],"mappings":"AAeA,wBAAgB,oBAAoB,gCAiFnC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
// ============================================================================
|
|
3
|
-
// src/components/LivePrintstatusRegel.tsx — één regel
|
|
4
|
-
//
|
|
3
|
+
// src/components/LivePrintstatusRegel.tsx — één eenvoudige regel over de live
|
|
4
|
+
// printstatus. Cijfers, adres en meldingen staan onder "Details voor beheer".
|
|
5
5
|
// ============================================================================
|
|
6
6
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
7
7
|
import { useServerFn } from "@tanstack/react-start";
|
|
8
8
|
import { useState } from "react";
|
|
9
|
-
import {
|
|
9
|
+
import { Button, toast } from "@flowselections/core";
|
|
10
10
|
import { webhookOpnieuwKoppelen, webhookStatus } from "../lib/printService.functions.js";
|
|
11
|
+
import { PrintInstallatiesLijst, PrintStilstandMelding } from "./PrintInstallatiesBlok.js";
|
|
12
|
+
const tijd = (iso) => new Date(iso).toLocaleTimeString("nl-NL", { hour: "2-digit", minute: "2-digit" });
|
|
11
13
|
export function LivePrintstatusRegel() {
|
|
12
14
|
const haal = useServerFn(webhookStatus);
|
|
13
15
|
const koppel = useServerFn(webhookOpnieuwKoppelen);
|
|
@@ -17,31 +19,29 @@ export function LivePrintstatusRegel() {
|
|
|
17
19
|
const s = data && data.ok ? data : null;
|
|
18
20
|
const weergave = s?.weergave ?? "uit";
|
|
19
21
|
const aan = weergave === "aan";
|
|
20
|
-
const pnTelling = s && (s.pnGeslaagd != null || s.pnMislukt != null || s.pnOntvangen != null)
|
|
21
|
-
? `PrintNode: ${s.pnOntvangen ?? "?"} ontvangen, ${s.pnGeslaagd ?? "?"} geslaagd, ${s.pnMislukt ?? "?"} mislukt, ${s.pnWeggegooid ?? "?"} weggegooid${s.pnUrl ? ` naar ${s.pnUrl}` : ""}`
|
|
22
|
-
: null;
|
|
23
22
|
const meldingen = Array.isArray(s?.meldingen) ? s.meldingen : [];
|
|
24
23
|
const adresAfwijkend = !!(s?.pnUrl && s?.url && s.pnUrl !== s.url);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
24
|
+
const hoofdtekst = s?.nietBereikbaar
|
|
25
|
+
? "De live printstatus werkt nu niet; de status wordt elke paar minuten opgehaald."
|
|
26
|
+
: aan
|
|
27
|
+
? s?.laatstOntvangenOp
|
|
28
|
+
? `Printers werken ✓ — laatste bevestiging ${tijd(s.laatstOntvangenOp)}`
|
|
29
|
+
: "Printers werken ✓ — wacht op de eerste bevestiging"
|
|
30
|
+
: weergave === "onbekend"
|
|
31
|
+
? "Wacht op de eerste bevestiging van de printers."
|
|
32
|
+
: "De status wordt elke paar minuten opgehaald.";
|
|
33
|
+
return (_jsxs(_Fragment, { children: [_jsx(PrintStilstandMelding, {}), _jsxs("div", { className: "mb-4 flex flex-wrap items-center gap-3 rounded-md border border-border bg-card px-4 py-3 text-sm", children: [_jsx("span", { className: aan ? "font-medium text-foreground" : "text-muted-foreground", children: hoofdtekst }), _jsx(Button, { size: "sm", variant: "outline", className: "ml-auto", disabled: bezig, onClick: async () => {
|
|
34
|
+
setBezig(true);
|
|
35
|
+
try {
|
|
36
|
+
const r = await koppel();
|
|
37
|
+
if (r.ok)
|
|
38
|
+
toast.success("Live printstatus opnieuw gekoppeld");
|
|
39
|
+
else
|
|
40
|
+
toast.error("Opnieuw koppelen is niet gelukt. Probeer het opnieuw; blijft het, meld het bij kantoor.");
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
setBezig(false);
|
|
44
|
+
qc.invalidateQueries({ queryKey: ["printnode-webhook-status"] });
|
|
45
|
+
}
|
|
46
|
+
}, children: bezig ? "Bezig…" : "Opnieuw koppelen" }), _jsxs("details", { className: "w-full text-xs text-muted-foreground", children: [_jsx("summary", { className: "cursor-pointer", children: "Details voor beheer" }), _jsxs("div", { className: "mt-2 space-y-1", children: [_jsxs("p", { children: ["Live status: ", weergave, s?.fout ? ` · ${s.fout}` : ""] }), s && (s.pnGeslaagd != null || s.pnMislukt != null || s.pnOntvangen != null) ? (_jsxs("p", { children: ["PrintNode-tellers (sinds aanmaken webhook): ", s.pnOntvangen ?? "?", " meldingen ontvangen,", " ", s.pnGeslaagd ?? "?", " aanroepen geslaagd, ", s.pnMislukt ?? "?", " aanroepen mislukt,", " ", s.pnWeggegooid ?? "?", " meldingen weggegooid. Meldingen en aanroepen worden apart geteld (\u00E9\u00E9n aanroep kan meerdere meldingen bevatten, een mislukte aanroep wordt \u00E9\u00E9n keer herhaald)."] })) : null, s?.pnUrl ? _jsxs("p", { children: ["Adres: ", s.pnUrl] }) : null, adresAfwijkend ? _jsx("p", { className: "text-destructive", children: "PrintNode stuurt naar een ander adres dan dit Shell-adres." }) : null, s?.melding ? _jsx("p", { children: s.melding }) : null, meldingen.length > 0 ? (_jsxs(_Fragment, { children: [_jsx("p", { className: "pt-1 font-medium", children: "Laatste meldingen" }), _jsx("ul", { className: "space-y-1", children: meldingen.map((m, i) => (_jsxs("li", { children: [new Date(m.ontvangen_op).toLocaleString("nl-NL"), " \u00B7 ", m.weergave, Array.isArray(m.printnode_ids) && m.printnode_ids.length ? ` · ${m.printnode_ids.join(", ")}` : "", Array.isArray(m.niet_gematcht) && m.niet_gematcht.length ? ` · onbekend: ${m.niet_gematcht.join(", ")}` : ""] }, i))) })] })) : null, _jsx(PrintInstallatiesLijst, {})] })] })] })] }));
|
|
47
47
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrintInstallatiesBlok.d.ts","sourceRoot":"","sources":["../../src/components/PrintInstallatiesBlok.tsx"],"names":[],"mappings":"AAYA,wBAAgB,qBAAqB,uCAepC;AAED,wBAAgB,sBAAsB,uCA6BrC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// src/components/PrintInstallatiesBlok.tsx — stilstandmelding (voor iedereen)
|
|
4
|
+
// en de lijst met printinstallaties (alleen onder "Details voor beheer").
|
|
5
|
+
// ============================================================================
|
|
6
|
+
import { useQuery } from "@tanstack/react-query";
|
|
7
|
+
import { useServerFn } from "@tanstack/react-start";
|
|
8
|
+
import { printInstallaties } from "../lib/printService.functions.js";
|
|
9
|
+
const tijd = (iso) => new Date(iso).toLocaleTimeString("nl-NL", { hour: "2-digit", minute: "2-digit" });
|
|
10
|
+
export function PrintStilstandMelding() {
|
|
11
|
+
const haal = useServerFn(printInstallaties);
|
|
12
|
+
const { data } = useQuery({ queryKey: ["print-installaties"], queryFn: () => haal(), refetchInterval: 60000 });
|
|
13
|
+
if (!data?.ok || !data.stil)
|
|
14
|
+
return null;
|
|
15
|
+
const tekst = data.reden === "geen_shell_adres"
|
|
16
|
+
? "Printen staat stil: er is geen Shell-adres ingesteld. Meld dit bij kantoor."
|
|
17
|
+
: data.reden === "shell_niet_aangemeld"
|
|
18
|
+
? "Printen staat stil: de Shell heeft zich nog niet gemeld. Meld dit bij kantoor."
|
|
19
|
+
: `Printen staat stil: de Shell reageert niet sinds ${data.sinds ? tijd(data.sinds) : "onbekend"}`;
|
|
20
|
+
return (_jsx("div", { className: "mb-4 rounded-md border border-destructive bg-destructive/10 px-4 py-3 text-sm font-medium text-destructive", children: tekst }));
|
|
21
|
+
}
|
|
22
|
+
export function PrintInstallatiesLijst() {
|
|
23
|
+
const haal = useServerFn(printInstallaties);
|
|
24
|
+
const { data } = useQuery({ queryKey: ["print-installaties"], queryFn: () => haal(), refetchInterval: 60000 });
|
|
25
|
+
const lijst = data?.ok && Array.isArray(data.installaties) ? data.installaties : [];
|
|
26
|
+
if (!data?.ok || !data.beheer)
|
|
27
|
+
return null;
|
|
28
|
+
return (_jsxs("div", { className: "pt-2", children: [_jsx("p", { className: "font-medium", children: "Printinstallaties" }), _jsxs("table", { className: "mt-1 w-full text-left", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { className: "pr-2", children: "Adres" }), _jsx("th", { className: "pr-2", children: "Versie" }), _jsx("th", { className: "pr-2", children: "Laatst actief" }), _jsx("th", { className: "pr-2", children: "Rol" }), _jsx("th", { children: "Opdrachten 7 dagen" })] }) }), _jsx("tbody", { children: lijst.map((i, n) => (_jsxs("tr", { children: [_jsx("td", { className: "pr-2", children: i.adres }), _jsx("td", { className: "pr-2", children: i.versie ?? "niet gemeld" }), _jsx("td", { className: "pr-2", children: i.laatstActief ? new Date(i.laatstActief).toLocaleString("nl-NL") : "—" }), _jsx("td", { className: "pr-2", children: i.isShell ? "Shell (print)" : i.actief ? "overgeslagen: niet de Shell" : "uit" }), _jsx("td", { children: i.opdrachten7d })] }, n))) })] })] }));
|
|
29
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrintQueuePage.d.ts","sourceRoot":"","sources":["../../src/components/PrintQueuePage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrintQueuePage.d.ts","sourceRoot":"","sources":["../../src/components/PrintQueuePage.tsx"],"names":[],"mappings":"AAwFA,wBAAgB,cAAc,gCA6a7B"}
|
|
@@ -6,11 +6,13 @@ import { RotateCcw, Search, XCircle } from "lucide-react";
|
|
|
6
6
|
import { bijgewerktTekst, useAutoRefresh } from "../lib/useAutoRefresh.js";
|
|
7
7
|
import { PrintStatusBanner } from "./PrintStatusBanner.js";
|
|
8
8
|
import { useLayouts, usePrinters, usePrintJobs, usePrintPlekNamen, } from "../lib/useDocumentData.js";
|
|
9
|
-
import { annuleerPrintOpdrachten, opnieuwPrinten
|
|
9
|
+
import { annuleerPrintOpdrachten, opnieuwPrinten } from "../lib/printService.functions.js";
|
|
10
10
|
import { opnieuwActie, printnodeStatusLabel, SCANBARE_SOORTEN } from "../lib/printnodeStatus.js";
|
|
11
11
|
import { supabase } from "../lib/supabaseClient.js";
|
|
12
12
|
import { vraagWachtrijRonde } from "../lib/queueTickClient.js";
|
|
13
13
|
import { documentTypeLabel } from "../lib/documentTypes.js";
|
|
14
|
+
import { gebruikersTekst } from "../lib/foutTekst.js";
|
|
15
|
+
const isTestprintJob = (j) => j.payload?.["is_testprint"] === true;
|
|
14
16
|
import { jobPlekLabel } from "../lib/printQueue.js";
|
|
15
17
|
const STATUS_VARIANT = {
|
|
16
18
|
wachtend: "outline",
|
|
@@ -22,7 +24,7 @@ const STATUS_VARIANT = {
|
|
|
22
24
|
/** Leesbare naam van de bron waaruit het document is opgemaakt. */
|
|
23
25
|
const BRON_LABEL = {
|
|
24
26
|
extern_pdf: "aangeleverde PDF",
|
|
25
|
-
floriday_1op1: "Floriday-document
|
|
27
|
+
floriday_1op1: "Origineel Floriday-document",
|
|
26
28
|
eigen_layout: "eigen ontwerp",
|
|
27
29
|
render_html: "meegestuurde opmaak",
|
|
28
30
|
klantlayout: "klantlayout",
|
|
@@ -82,7 +84,18 @@ export function PrintQueuePage() {
|
|
|
82
84
|
const [tellingFout, setTellingFout] = useState(null);
|
|
83
85
|
const herlaadTellingen = async () => {
|
|
84
86
|
try {
|
|
85
|
-
|
|
87
|
+
// Alleen aantallen tellen in de database (geen rijen ophalen), parallel.
|
|
88
|
+
const statussen = ["wachtend", "bezig", "voltooid", "mislukt", "geannuleerd"];
|
|
89
|
+
const t = {};
|
|
90
|
+
await Promise.all(statussen.map(async (st) => {
|
|
91
|
+
const { count, error } = await supabase
|
|
92
|
+
.from("print_jobs")
|
|
93
|
+
.select("id", { count: "exact", head: true })
|
|
94
|
+
.eq("status", st);
|
|
95
|
+
if (error)
|
|
96
|
+
throw new Error(`Tellen is niet gelukt (${st})`);
|
|
97
|
+
t[st] = count ?? 0;
|
|
98
|
+
}));
|
|
86
99
|
if (t && typeof t === "object") {
|
|
87
100
|
setTellingen(t);
|
|
88
101
|
setTellingFout(null);
|
|
@@ -92,6 +105,11 @@ export function PrintQueuePage() {
|
|
|
92
105
|
setTellingFout(e instanceof Error ? e.message : "Tellen is niet gelukt");
|
|
93
106
|
}
|
|
94
107
|
};
|
|
108
|
+
// Tellingen direct bij openen (niet wachten op de eerste verversronde).
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
void herlaadTellingen();
|
|
111
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
112
|
+
}, []);
|
|
95
113
|
const printerById = useMemo(() => new Map(printers.map((p) => [p.id, p])), [printers]);
|
|
96
114
|
// "Gescand": goedgekeurde controlescan van de kar (match op cart_id). Alleen lezen.
|
|
97
115
|
const [gescand, setGescand] = useState(new Map());
|
|
@@ -185,11 +203,12 @@ export function PrintQueuePage() {
|
|
|
185
203
|
setAnnuleertAlles(false);
|
|
186
204
|
await reload(true);
|
|
187
205
|
}
|
|
188
|
-
}, children: [_jsx(XCircle, { className: "mr-2 h-4 w-4" }), annuleertAlles ? "Bezig…" : `Alles annuleren (${openJobs.length})`] })] })] }), _jsx(PrintStatusBanner, { fout: tickFout }), _jsx("div", { className: "grid gap-4 md:grid-cols-4", children: ["wachtend", "bezig", "voltooid", "mislukt"].map((s) => (_jsx(Card, { children: _jsxs(CardHeader, { className: "pb-2", children: [_jsx(CardDescription, { className: "capitalize", children: s }), _jsx(CardTitle, { className: "text-2xl", title: tellingFout ?? undefined, children: tellingFout && !tellingen ? "—" : tellingen ? (tellingen[s] ?? 0) : "laden…" }), tellingFout ? _jsx("p", { className: "text-destructive text-xs", children: tellingFout }) : null] }) }, s))) }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "pb-3", children: [_jsx(CardTitle, { className: "text-base", children: "Opdrachten" }), _jsx(CardDescription, { children: loading ? "Laden…" : `${gefilterd.length} opdrachten` })] }), _jsxs(CardContent, { className: "space-y-4", children: [_jsxs("div", { className: "grid gap-3 md:grid-cols-4", children: [_jsxs("div", { className: "relative md:col-span-2", children: [_jsx(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { className: "pl-9", placeholder: "Zoek op document of gebruiker", value: zoek, onChange: (e) => setZoek(e.target.value) })] }), _jsxs(Select, { value: status, onValueChange: setStatus, children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "alle", children: "Alle statussen" }), ["wachtend", "bezig", "voltooid", "mislukt", "geannuleerd"].map((s) => (_jsx(SelectItem, { value: s, children: s }, s)))] })] }), _jsxs(Select, { value: plekFilter, onValueChange: setPlekFilter, children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "alle", children: "Alle printplekken" }), plekOpties.map((p) => (_jsx(SelectItem, { value: p, children: p }, p))), _jsx(SelectItem, { value: "\u2014", children: "Zonder printplek" })] })] })] }), _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "Document" }), _jsx(TableHead, { children: "Printplek" }), _jsx(TableHead, { children: "
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
206
|
+
}, children: [_jsx(XCircle, { className: "mr-2 h-4 w-4" }), annuleertAlles ? "Bezig…" : `Alles annuleren (${openJobs.length})`] })] })] }), _jsx(PrintStatusBanner, { fout: tickFout }), _jsx("div", { className: "grid gap-4 md:grid-cols-4", children: ["wachtend", "bezig", "voltooid", "mislukt"].map((s) => (_jsx(Card, { children: _jsxs(CardHeader, { className: "pb-2", children: [_jsx(CardDescription, { className: "capitalize", children: s }), _jsx(CardTitle, { className: "text-2xl", title: tellingFout ?? undefined, children: tellingFout && !tellingen ? "—" : tellingen ? (tellingen[s] ?? 0) : "laden…" }), tellingFout ? _jsx("p", { className: "text-destructive text-xs", children: tellingFout }) : null] }) }, s))) }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "pb-3", children: [_jsx(CardTitle, { className: "text-base", children: "Opdrachten" }), _jsx(CardDescription, { children: loading ? "Laden…" : `${gefilterd.length} opdrachten` })] }), _jsxs(CardContent, { className: "space-y-4", children: [_jsxs("div", { className: "grid gap-3 md:grid-cols-4", children: [_jsxs("div", { className: "relative md:col-span-2", children: [_jsx(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { className: "pl-9", placeholder: "Zoek op document of gebruiker", value: zoek, onChange: (e) => setZoek(e.target.value) })] }), _jsxs(Select, { value: status, onValueChange: setStatus, children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "alle", children: "Alle statussen" }), ["wachtend", "bezig", "voltooid", "mislukt", "geannuleerd"].map((s) => (_jsx(SelectItem, { value: s, children: s }, s)))] })] }), _jsxs(Select, { value: plekFilter, onValueChange: setPlekFilter, children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "alle", children: "Alle printplekken" }), plekOpties.map((p) => (_jsx(SelectItem, { value: p, children: p }, p))), _jsx(SelectItem, { value: "\u2014", children: "Zonder printplek" })] })] })] }), _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "Document" }), _jsx(TableHead, { children: "Printplek" }), _jsx(TableHead, { children: "Ontwerp" }), _jsx(TableHead, { children: "Printer" }), _jsx(TableHead, { children: "Status" }), _jsx(TableHead, { children: "Tijdstip" }), _jsx(TableHead, { className: "text-right", children: "Acties" })] }) }), _jsxs(TableBody, { children: [gefilterd.length === 0 && (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: 7, className: "py-10 text-center text-sm text-muted-foreground", children: "Geen printopdrachten." }) })), gefilterd.map((j) => (_jsxs(TableRow, { children: [_jsxs(TableCell, { children: [_jsx("span", { className: "font-medium", children: j.documentnaam ?? documentTypeLabel(j.documenttype) }), j.is_herprint && (_jsx(Badge, { variant: "outline", className: "ml-2", children: "herprint" })), !heeftOrderKenmerk(j) && !isTestprintJob(j) && (_jsx(Badge, { variant: "outline", className: "ml-2 text-amber-600", children: "geen orderkenmerk" })), j.foutmelding && (_jsx("span", { className: "block text-xs text-destructive", title: `Details voor beheer: ${j.foutmelding}`, children: gebruikersTekst(j.foutmelding, documentTypeLabel) ??
|
|
207
|
+
String(j.foutmelding).replace(/^[A-Z_]+:\s*/, "") }))] }), _jsx(TableCell, { className: "text-sm text-muted-foreground", children: plekPerJob.get(j.id) || "—" }), _jsx(TableCell, { className: "text-sm text-muted-foreground", children: _jsxs("span", { className: "block", title: "Gebruikt ontwerp", children: [_jsx("span", { children: j.gebruikte_layout_id
|
|
208
|
+
? layoutNaam.get(j.gebruikte_layout_id) ?? "Onbekend ontwerp"
|
|
209
|
+
: j.gebruikte_bron
|
|
210
|
+
? "geen eigen ontwerp"
|
|
211
|
+
: "nog niet verwerkt" }), j.gebruikte_bron && (_jsx(Badge, { variant: "outline", className: "ml-2", children: BRON_LABEL[j.gebruikte_bron] ?? j.gebruikte_bron }))] }) }), _jsx(TableCell, { className: "text-sm text-muted-foreground", children: j.printer_id ? printerNaam.get(j.printer_id) ?? "—" : "—" }), _jsxs(TableCell, { children: [_jsx(Badge, { variant: STATUS_VARIANT[j.status] ?? "outline", children: printnodeStatusLabel(j) }), SCANBARE_SOORTEN.has(j.documenttype) && !j.is_herprint && j.status === "voltooid" &&
|
|
193
212
|
(() => {
|
|
194
213
|
const scan = gescand.get(String(j.payload?.["cart_id"] ?? ""));
|
|
195
214
|
if (scan == null)
|
|
@@ -1 +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,
|
|
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,sCAoCA"}
|
|
@@ -9,7 +9,9 @@ export function PrintStatusBanner({ fout, offlineWerkplekken = [], toonWerkplekL
|
|
|
9
9
|
const sleutelProbleem = !!fout && /toegangsbewijs|401|unauthorized|token|sleutel/i.test(fout);
|
|
10
10
|
if (!fout && offlineWerkplekken.length === 0)
|
|
11
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 && (
|
|
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 && (_jsx("p", { children: sleutelProbleem
|
|
13
|
+
? "Er kan nu niet worden geprint: de koppeling met de printdienst is verlopen. Vraag de beheerder dit te herstellen."
|
|
14
|
+
: fout })), offlineWerkplekken.length > 0 && (_jsxs("p", { children: [offlineWerkplekken.length === 1
|
|
13
15
|
? `Werkplek ${offlineWerkplekken[0]} staat uit`
|
|
14
16
|
: `${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/printplekken", className: "underline", children: "Naar printplekken" })] }))] }))] }));
|
|
15
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrintenInstellenWizard.d.ts","sourceRoot":"","sources":["../../src/components/PrintenInstellenWizard.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,+
|
|
1
|
+
{"version":3,"file":"PrintenInstellenWizard.d.ts","sourceRoot":"","sources":["../../src/components/PrintenInstellenWizard.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,+BAyKA"}
|
|
@@ -68,7 +68,20 @@ export function PrintenInstellenWizard({ open, onOpenChange, onKlaar, }) {
|
|
|
68
68
|
setStatus((s) => ({ ...s, [printerId]: `mislukt: ${leesbareFout(e, "versturen mislukt")}` }));
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
|
-
|
|
71
|
+
// Vangnet: ook Escape vanuit een keuzelijst sluit de wizard.
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (!open)
|
|
74
|
+
return;
|
|
75
|
+
const toets = (e) => {
|
|
76
|
+
if (e.key === "Escape")
|
|
77
|
+
onOpenChange(false);
|
|
78
|
+
};
|
|
79
|
+
window.addEventListener("keydown", toets);
|
|
80
|
+
return () => window.removeEventListener("keydown", toets);
|
|
81
|
+
}, [open, onOpenChange]);
|
|
82
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "max-h-[85vh] max-w-2xl overflow-y-auto",
|
|
83
|
+
// Escape en klikken naast het venster sluiten zonder op te slaan.
|
|
84
|
+
onEscapeKeyDown: () => onOpenChange(false), onPointerDownOutside: () => onOpenChange(false), children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: stap === 0 ? "Printen instellen — voorstel uit huidige instellingen" : `Printen instellen — stap ${stap} van 4` }), _jsx(DialogDescription, { children: "In een paar minuten weet je zeker waar het papier uitkomt." })] }), stap === 0 && voorstel?.length ? (_jsx(WerkplekOmzettingStap, { voorstel: voorstel, printers: printers, beheerder: beheerder, onOverslaan: () => setStap(1), onKlaar: () => { void reloadPrinters(); onKlaar?.(); setNaam(voorstel[0]?.naam ?? naam); setStap(3); } })) : null, stap === 1 ? (_jsxs("div", { className: "space-y-2 text-sm", children: [_jsx("p", { children: "Op deze computers draait het printprogramma:" }), computers.map((c) => (_jsxs("div", { className: "flex items-center gap-2 rounded border p-2", children: [_jsx("span", { className: "font-medium", children: c.naam }), _jsx(Badge, { variant: c.online ? "secondary" : "destructive", children: c.online ? "online" : "offline" }), _jsxs("span", { className: "text-muted-foreground text-xs", children: [c.aantalGevonden, " printers"] })] }, c.id))), !loading && !computers.length ? _jsx("p", { className: "text-muted-foreground", children: "Nog geen computers gevonden. Installeer het printprogramma op de computer met de printers." }) : null, _jsxs(Button, { size: "sm", variant: "outline", onClick: () => { void reload(); void reloadPrinters(); }, children: [loading ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : _jsx(RefreshCw, { className: "mr-2 h-4 w-4" }), " Opnieuw zoeken"] })] })) : null, stap === 2 ? (_jsxs("div", { className: "grid gap-2 text-sm sm:grid-cols-[9rem_1fr]", children: [_jsx("span", { children: "Naam werkplek" }), _jsx(Input, { value: naam, onChange: (e) => setNaam(e.target.value) }), _jsx("span", { children: "A4-printer" }), _jsxs("select", { className: selectKlasse, value: a4 ?? "", onChange: (e) => setA4(e.target.value || null), children: [_jsx("option", { value: "", children: "\u2014 geen \u2014" }), bruikbaar.map((p) => _jsxs("option", { value: p.id, children: [printerTitel(p), p.locatie ? ` · ${p.locatie}` : ""] }, p.id))] }), _jsx("span", { children: "Labelprinter" }), _jsxs("select", { className: selectKlasse, value: label ?? "", onChange: (e) => setLabel(e.target.value || null), children: [_jsx("option", { value: "", children: "\u2014 geen \u2014" }), bruikbaar.map((p) => _jsxs("option", { value: p.id, children: [printerTitel(p), p.locatie ? ` · ${p.locatie}` : ""] }, p.id))] }), labelPrinter ? (_jsx("div", { className: "sm:col-span-2", children: _jsx(GeladenEtiketKeuze, { printer: labelPrinter, onGewijzigd: () => void reloadPrinters() }) })) : null] })) : null, stap === 3 ? (_jsx("div", { className: "space-y-2 text-sm", children: [a4 ? { id: a4, soort: "vrij" } : null, label ? { id: label, soort: "sticker" } : null]
|
|
72
85
|
.filter(Boolean)
|
|
73
86
|
.map((r) => {
|
|
74
87
|
const p = printers.find((x) => x.id === r.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrintplekDetailPage.d.ts","sourceRoot":"","sources":["../../src/components/PrintplekDetailPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrintplekDetailPage.d.ts","sourceRoot":"","sources":["../../src/components/PrintplekDetailPage.tsx"],"names":[],"mappings":"AAoEA,wBAAgB,mBAAmB,gCAqqBlC"}
|
|
@@ -22,6 +22,8 @@ import { leesbareFout } from "../lib/foutTekst.js";
|
|
|
22
22
|
import { supabase } from "../lib/supabaseClient.js";
|
|
23
23
|
import { useRouteringOverzicht } from "../lib/printRoutering.js";
|
|
24
24
|
import { routeringMeldingTekst } from "../lib/waaromPrinter.js";
|
|
25
|
+
import { STATUS_ONBEKEND_TEKST, toestandVanComputer, zelfdeNaamTekst } from "../lib/computerKoppeling.js";
|
|
26
|
+
import { koppelComputerOpId } from "../lib/printService.functions.js";
|
|
25
27
|
const BRON_LABEL = {
|
|
26
28
|
werkplek_formaat: "Werkplek (papierformaat)",
|
|
27
29
|
werkplek_afwijking: "Werkplek (afwijking)",
|
|
@@ -56,8 +58,10 @@ export function PrintplekDetailPage() {
|
|
|
56
58
|
void supabase.removeChannel(kanaal);
|
|
57
59
|
};
|
|
58
60
|
}, []);
|
|
59
|
-
const computerAan = (naam) => {
|
|
60
|
-
const k =
|
|
61
|
+
const computerAan = (naam, pnId) => {
|
|
62
|
+
const k = pnId != null && pnId !== ""
|
|
63
|
+
? computers.find((x) => String(x.id) === String(pnId))
|
|
64
|
+
: computers.find((x) => x.naam === naam);
|
|
61
65
|
if (!k)
|
|
62
66
|
return false;
|
|
63
67
|
const live = statusPerId.get(String(k.id));
|
|
@@ -220,7 +224,7 @@ export function PrintplekDetailPage() {
|
|
|
220
224
|
setNaamBewerken(true);
|
|
221
225
|
}, children: plek.naam })), _jsx("p", { className: "text-muted-foreground text-sm", children: plek.omschrijving ?? "Hier stel je alles in wat er op deze plek wordt afgedrukt." })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { variant: "outline", onClick: () => setTestprintOpen(true), children: [_jsx(Printer, { className: "mr-2 h-4 w-4" }), " Testprint controleren"] }), _jsxs(Button, { variant: "ghost", className: "text-destructive", onClick: () => setVerwijderOpen(true), children: [_jsx(Trash2, { className: "mr-2 h-4 w-4" }), " Verwijderen"] })] })] }), _jsx(PrintplekVerwijderenDialog, { plek: verwijderOpen ? { id: plek.id, naam: plek.naam } : null, onOpenChange: setVerwijderOpen, onKlaar: () => void navigate({ to: "/layouts-printers/printplekken" }) }), _jsx(TestprintDialog, { open: testprintOpen, onOpenChange: setTestprintOpen, printplekId: plekId, printplekNaam: plek.naam }), uitgevallen.length > 0 && (_jsxs("div", { role: "alert", className: "rounded-lg border border-destructive bg-destructive/10 px-4 py-3 text-sm text-destructive", children: [_jsx("strong", { children: "Computer niet verbonden:" }), " ", uitgevallen.join(", "), ". Opdrachten voor deze plek worden pas geprint als de computer weer verbonden is, en verlopen anders."] })), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-row items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsxs(CardTitle, { className: "flex items-center gap-2 text-base", children: [_jsx(Monitor, { className: "h-4 w-4" }), " Computers op deze plek"] }), _jsx(CardDescription, { children: "Het bolletje laat zien of de computer nu aan staat." })] }), vrijeComputers.length > 0 ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("select", { className: selectKlasse, value: computerToevoegen, onChange: (e) => setComputerToevoegen(e.target.value), "aria-label": "Computer kiezen", children: [_jsx("option", { value: "", children: "Computer kiezen\u2026" }), vrijeComputers.map((c) => (_jsx("option", { value: c.naam, children: c.naam }, c.id)))] }), _jsxs(Button, { size: "sm", disabled: !computerToevoegen, onClick: async () => {
|
|
222
226
|
try {
|
|
223
|
-
await koppelComputerAanPrintplek(plekId, computerToevoegen);
|
|
227
|
+
await koppelComputerAanPrintplek(plekId, computerToevoegen, computers.find((k) => k.naam === computerToevoegen)?.id);
|
|
224
228
|
setComputerToevoegen("");
|
|
225
229
|
await vernieuw();
|
|
226
230
|
}
|
|
@@ -228,8 +232,17 @@ export function PrintplekDetailPage() {
|
|
|
228
232
|
toast.error("Toevoegen mislukt");
|
|
229
233
|
}
|
|
230
234
|
}, children: [_jsx(Plus, { className: "mr-1 h-4 w-4" }), " Computer toevoegen"] })] })) : null] }), _jsx(CardContent, { className: "space-y-2", children: eigenComputers.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "Nog geen computers gekoppeld." })) : (eigenComputers.map((c) => {
|
|
231
|
-
const aan = computerAan(c.computer_naam);
|
|
232
|
-
|
|
235
|
+
const aan = computerAan(c.computer_naam, c.printnode_computer_id);
|
|
236
|
+
const t = toestandVanComputer({ ...c, printnode_computer_id: c.printnode_computer_id ?? null }, computers);
|
|
237
|
+
return (_jsxs("div", { className: "flex items-center gap-3 rounded-lg border px-3 py-2 text-sm", children: [_jsx("span", { className: `h-2 w-2 rounded-full ${aan ? "bg-emerald-500" : "bg-muted-foreground"}` }), _jsx("span", { className: "min-w-0 flex-1 truncate font-medium", children: c.computer_naam }), t.soort === "gekoppeld" ? (_jsx("span", { className: "text-muted-foreground text-xs", children: aan ? "Aan" : "Uit" })) : t.soort === "zelfde_naam" ? (_jsxs("span", { className: "flex items-center gap-2 text-xs", children: [_jsx("span", { className: "text-muted-foreground", children: zelfdeNaamTekst(t.kandidaat.naam) }), _jsx(Button, { size: "sm", variant: "outline", onClick: async () => {
|
|
238
|
+
const r = await koppelComputerOpId({ data: { rijId: c.id, printnodeId: t.kandidaat.id } });
|
|
239
|
+
if (r.ok) {
|
|
240
|
+
toast.success("Computer gekoppeld");
|
|
241
|
+
await vernieuw();
|
|
242
|
+
}
|
|
243
|
+
else
|
|
244
|
+
toast.error(r.fout);
|
|
245
|
+
}, children: "Koppelen" })] })) : (_jsx("span", { className: "text-muted-foreground text-xs", children: STATUS_ONBEKEND_TEKST })), _jsxs(Button, { size: "sm", variant: "ghost", className: "text-destructive", onClick: () => setTeVerwijderen(c.computer_naam), children: [_jsx(Trash2, { className: "mr-1 h-3.5 w-3.5" }), " Verwijderen"] })] }, c.id));
|
|
233
246
|
})) })] }), _jsx(ComputerVerwijderenDialog, { open: !!teVerwijderen, onOpenChange: (v) => !v && setTeVerwijderen(null), computerNaam: teVerwijderen, printplekId: plekId, printers: teVerwijderenPrinters, andereplekken: andereplekken, onKlaar: () => {
|
|
234
247
|
void herlaadComputers(true);
|
|
235
248
|
void vernieuw();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WerkplekOmzettingStap.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekOmzettingStap.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WerkplekOmzettingStap.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekOmzettingStap.tsx"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAA+B,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAW9F,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EAAE,KAAK,EACf,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,+BA8FA"}
|
|
@@ -6,6 +6,7 @@ import { useState } from "react";
|
|
|
6
6
|
import { Badge, Button, Input, toast } from "@flowselections/core";
|
|
7
7
|
import { documentTypeLabel } from "../lib/documentTypes.js";
|
|
8
8
|
import { leesbareFout } from "../lib/foutTekst.js";
|
|
9
|
+
import { etiketTekst } from "../lib/etiketControle.js";
|
|
9
10
|
import { printerTitel } from "../lib/werkplekken.js";
|
|
10
11
|
import { herbereken, pasOmzettingToe } from "../lib/werkplekOmzetting.js";
|
|
11
12
|
const selectKlasse = "border-input bg-background rounded-md border px-2 py-1 text-sm";
|
|
@@ -26,7 +27,7 @@ export function WerkplekOmzettingStap({ voorstel: begin, printers, beheerder, on
|
|
|
26
27
|
return (_jsxs("div", { className: "space-y-3 text-sm", children: [_jsx("p", { children: "Op basis van de huidige instellingen stelt de module deze werkplekken voor. Controleer per documentsoort de printer van nu en die van na de omzetting. Er wordt pas iets aangemaakt als je bevestigt." }), voorstel.map((w, i) => {
|
|
27
28
|
const etiket = printers.find((p) => p.id === w.label_printer_id)?.geladen_etiket;
|
|
28
29
|
const verschillen = w.soorten.filter((s) => s.verschil).length;
|
|
29
|
-
return (_jsxs("div", { className: "space-y-2 rounded border p-2", "data-werkplek-voorstel": w.print_plek_id ?? "kantoor", children: [_jsxs("div", { className: "grid gap-2 sm:grid-cols-[8rem_1fr]", children: [_jsx("span", { children: "Naam" }), _jsx(Input, { value: w.naam, disabled: w.bestaat || !beheerder, onChange: (e) => wijzig(i, { naam: e.target.value }) }), _jsx("span", { children: "A4-printer" }), _jsxs("select", { className: selectKlasse, disabled: w.bestaat || !beheerder, value: w.a4_printer_id ?? "", onChange: (e) => wijzig(i, { a4_printer_id: e.target.value || null }), children: [_jsx("option", { value: "", children: "\u2014 geen \u2014" }), bruikbaar.map((p) => _jsx("option", { value: p.id, children: printerTitel(p) }, p.id))] }), _jsx("span", { children: "Labelprinter" }), _jsxs("select", { className: selectKlasse, disabled: w.bestaat || !beheerder, value: w.label_printer_id ?? "", onChange: (e) => wijzig(i, { label_printer_id: e.target.value || null }), children: [_jsx("option", { value: "", children: "\u2014 geen \u2014" }), bruikbaar.map((p) => _jsx("option", { value: p.id, children: printerTitel(p) }, p.id))] }), _jsx("span", { children: "Geladen etiket" }), _jsx("span", { className: etiket ? "" : "text-destructive", children: etiket ?
|
|
30
|
+
return (_jsxs("div", { className: "space-y-2 rounded border p-2", "data-werkplek-voorstel": w.print_plek_id ?? "kantoor", children: [_jsxs("div", { className: "grid gap-2 sm:grid-cols-[8rem_1fr]", children: [_jsx("span", { children: "Naam" }), _jsx(Input, { value: w.naam, disabled: w.bestaat || !beheerder, onChange: (e) => wijzig(i, { naam: e.target.value }) }), _jsx("span", { children: "A4-printer" }), _jsxs("select", { className: selectKlasse, disabled: w.bestaat || !beheerder, value: w.a4_printer_id ?? "", onChange: (e) => wijzig(i, { a4_printer_id: e.target.value || null }), children: [_jsx("option", { value: "", children: "\u2014 geen \u2014" }), bruikbaar.map((p) => _jsx("option", { value: p.id, children: printerTitel(p) }, p.id))] }), _jsx("span", { children: "Labelprinter" }), _jsxs("select", { className: selectKlasse, disabled: w.bestaat || !beheerder, value: w.label_printer_id ?? "", onChange: (e) => wijzig(i, { label_printer_id: e.target.value || null }), children: [_jsx("option", { value: "", children: "\u2014 geen \u2014" }), bruikbaar.map((p) => _jsx("option", { value: p.id, children: printerTitel(p) }, p.id))] }), _jsx("span", { children: "Geladen etiket" }), _jsx("span", { className: etiket ? "" : "text-destructive", children: etiket ? etiketTekst(etiket) : "nog niet ingesteld — stel het in bij Werkplekken" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [w.print_plek_id ? _jsx(Badge, { variant: "outline", children: "gekoppeld aan printplek" }) : _jsx(Badge, { variant: "outline", children: "op basis van standaardregels" }), w.bestaat ? _jsx(Badge, { variant: "secondary", children: "bestaat al \u2014 wordt overgeslagen" }) : null, _jsxs(Badge, { variant: verschillen ? "destructive" : "secondary", children: [verschillen, " verschillen"] })] }), _jsxs("table", { className: "w-full text-xs", children: [_jsx("thead", { children: _jsxs("tr", { className: "text-muted-foreground text-left", children: [_jsx("th", { className: "py-0.5", children: "Documentsoort" }), _jsx("th", { children: "Nu" }), _jsx("th", { children: "Bron nu" }), _jsx("th", { children: "Na omzetting" })] }) }), _jsx("tbody", { children: w.soorten.map((s) => (_jsxs("tr", { className: s.verschil ? "bg-destructive/10 font-medium" : "", "data-verschil": s.verschil ? "ja" : "nee", children: [_jsxs("td", { className: "py-0.5", children: [documentTypeLabel(s.documenttype), s.geen_etiketlayout ? (_jsx("div", { className: "text-destructive", "data-geen-etiketlayout": "ja", children: "Deze soort heeft nog geen etiketlayout (layout staat op A4)" })) : null] }), _jsx("td", { children: titel(s.printer_id) }), _jsx("td", { children: BRON[s.bron ?? "geen"] ?? s.bron }), _jsxs("td", { children: [titel(s.na_printer_id), s.klasse === "label" ? " (label)" : " (A4)"] })] }, s.documenttype))) })] })] }, `${w.print_plek_id ?? "kantoor"}`));
|
|
30
31
|
}), !beheerder ? _jsx("p", { className: "text-muted-foreground", children: "Alleen beheerders kunnen dit wijzigen." }) : null, _jsxs("div", { className: "flex justify-between", children: [_jsx(Button, { variant: "ghost", onClick: onOverslaan, children: "Overslaan, zelf instellen" }), _jsx(Button, { disabled: !beheerder || bezig || !nieuw.length || nieuw.some((w) => !w.naam.trim() || (!w.a4_printer_id && !w.label_printer_id)), onClick: async () => {
|
|
31
32
|
if (!window.confirm(`${nieuw.length} werkplek(ken) aanmaken? De verschillen hierboven gaan dan gelden voor wie deze werkplek kiest.`))
|
|
32
33
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WerkplekkenTab.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekkenTab.tsx"],"names":[],"mappings":"AAcA,OAAO,EAUL,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,IAAI,CAAA;CAAE,+
|
|
1
|
+
{"version":3,"file":"WerkplekkenTab.d.ts","sourceRoot":"","sources":["../../src/components/WerkplekkenTab.tsx"],"names":[],"mappings":"AAcA,OAAO,EAUL,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,IAAI,CAAA;CAAE,+BAyE5G;AAqPD,wBAAgB,cAAc,gCA4E7B"}
|
|
@@ -11,7 +11,7 @@ import { AlertTriangle, Plus, Printer, Trash2, Wand2 } from "lucide-react";
|
|
|
11
11
|
import { supabase } from "../lib/supabaseClient.js";
|
|
12
12
|
import { DOCUMENT_TYPES, documentTypeLabel } from "../lib/documentTypes.js";
|
|
13
13
|
import { leesbareFout } from "../lib/foutTekst.js";
|
|
14
|
-
import { etiketOpties,
|
|
14
|
+
import { etiketOpties, etiketTekst, maatNl } from "../lib/etiketControle.js";
|
|
15
15
|
import { formaatKlasse, printerTitel, slaWerkplekOp, soortPastBijFormaat, usePrinterLijst, useWerkplekken, verwijderWerkplek, zetAfwijking, zetPrinterVelden, } from "../lib/werkplekken.js";
|
|
16
16
|
import { PrintenInstellenWizard } from "./PrintenInstellenWizard.js";
|
|
17
17
|
const selectKlasse = "border-input bg-background rounded-md border px-2 py-1 text-sm";
|
|
@@ -20,7 +20,31 @@ export function GeladenEtiketKeuze({ printer, onGewijzigd }) {
|
|
|
20
20
|
const opties = useMemo(() => etiketOpties(printer.ondersteunde_formaten), [printer.ondersteunde_formaten]);
|
|
21
21
|
// Namen uit PrintNode kunnen spaties aan begin of eind hebben: vergelijk getrimd.
|
|
22
22
|
const huidig = (printer.geladen_etiket?.naam ?? "").trim();
|
|
23
|
-
|
|
23
|
+
const [zoek, setZoek] = useState("");
|
|
24
|
+
// Maten die al in een van de printers zitten (gelezen, niets vast in code).
|
|
25
|
+
const [inGebruik, setInGebruik] = useState(new Set());
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
let actief = true;
|
|
28
|
+
void db
|
|
29
|
+
.from("printers")
|
|
30
|
+
.select("geladen_etiket")
|
|
31
|
+
.not("geladen_etiket", "is", null)
|
|
32
|
+
.then(({ data }) => {
|
|
33
|
+
if (!actief)
|
|
34
|
+
return;
|
|
35
|
+
const namen = (Array.isArray(data) ? data : []).map((r) => String(r.geladen_etiket?.naam ?? "").trim()).filter(Boolean);
|
|
36
|
+
setInGebruik(new Set(namen));
|
|
37
|
+
});
|
|
38
|
+
return () => {
|
|
39
|
+
actief = false;
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
const q = zoek.trim().toLowerCase();
|
|
43
|
+
const gefilterd = opties.filter((o) => !q || `${o.naam} ${maatNl(o.breedte_mm, o.hoogte_mm)}`.toLowerCase().includes(q));
|
|
44
|
+
const voorgesteld = gefilterd.filter((o) => o.naam.trim() === huidig || inGebruik.has(o.naam.trim()));
|
|
45
|
+
const andere = gefilterd.filter((o) => !voorgesteld.includes(o));
|
|
46
|
+
const optie = (o) => (_jsx("option", { value: o.naam.trim(), children: etiketTekst(o) }, o.naam));
|
|
47
|
+
return (_jsxs("div", { className: "flex flex-wrap items-center gap-2 text-sm", id: `etiket-${printer.id}`, children: [_jsx("span", { className: "text-muted-foreground", children: "Geladen etiket:" }), opties.length > 8 ? (_jsx(Input, { className: "h-8 w-40", placeholder: "Zoek maat of naam", value: zoek, onChange: (e) => setZoek(e.target.value) })) : null, _jsxs("select", { className: selectKlasse, value: huidig, onChange: async (e) => {
|
|
24
48
|
const keuze = opties.find((o) => o.naam.trim() === e.target.value) ?? null;
|
|
25
49
|
try {
|
|
26
50
|
await zetPrinterVelden(printer.id, { geladen_etiket: keuze });
|
|
@@ -30,7 +54,7 @@ export function GeladenEtiketKeuze({ printer, onGewijzigd }) {
|
|
|
30
54
|
catch (err) {
|
|
31
55
|
toast.error(leesbareFout(err, "Opslaan mislukt"));
|
|
32
56
|
}
|
|
33
|
-
}, children: [_jsx("option", { value: "", children: "\u2014 kies het etiket dat in de printer zit \u2014" }), huidig && !opties.some((o) => o.naam.trim() === huidig) && printer.geladen_etiket ? (
|
|
57
|
+
}, children: [_jsx("option", { value: "", children: "\u2014 kies het etiket dat in de printer zit \u2014" }), huidig && !opties.some((o) => o.naam.trim() === huidig) && printer.geladen_etiket ? (_jsx("option", { value: huidig, children: etiketTekst(printer.geladen_etiket) })) : null, voorgesteld.length ? _jsx("optgroup", { label: "In gebruik", children: voorgesteld.map(optie) }) : null, andere.length ? (voorgesteld.length ? _jsx("optgroup", { label: "Andere maten", children: andere.map(optie) }) : andere.map(optie)) : null] }), !huidig ? (_jsxs("span", { className: "text-destructive flex items-center gap-1 text-xs", children: [_jsx(AlertTriangle, { className: "h-3 w-3" }), " Niet ingesteld: er wordt niets naar deze labelprinter geprint."] })) : null, !opties.length ? _jsx("span", { className: "text-muted-foreground text-xs", children: "De printer meldt nog geen etiketmaten." }) : null] }));
|
|
34
58
|
}
|
|
35
59
|
function PrinterSelect({ printers, value, onChange, leeg = "— geen —", }) {
|
|
36
60
|
return (_jsxs("select", { className: selectKlasse, value: value ?? "", onChange: (e) => onChange(e.target.value || null), children: [_jsx("option", { value: "", children: leeg }), printers.map((p) => (_jsxs("option", { value: p.id, children: [printerTitel(p), p.locatie ? ` · ${p.locatie}` : "", p.online === false ? " (offline)" : ""] }, p.id)))] }));
|
package/dist-lib/index.d.ts
CHANGED
|
@@ -116,4 +116,6 @@ export type { LayoutVerwijzing, LayoutGebruik, SoortOverzicht } from "./lib/layo
|
|
|
116
116
|
export { haalOmzettingVoorstel, pasOmzettingToe, herbereken } from "./lib/werkplekOmzetting.js";
|
|
117
117
|
export type { WerkplekVoorstel } from "./lib/werkplekOmzetting.js";
|
|
118
118
|
export { useIsBeheerder } from "./lib/beheerder.js";
|
|
119
|
+
export { toestandVanComputer, maakKoppelVoorstel, STATUS_ONBEKEND_TEKST, zelfdeNaamTekst, type ComputerToestand, type KoppelVoorstelRij, } from "./lib/computerKoppeling.js";
|
|
120
|
+
export { computerKoppelVoorstel, koppelComputerOpId } from "./lib/printService.functions.js";
|
|
119
121
|
//# sourceMappingURL=index.d.ts.map
|
package/dist-lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist-lib/index.js
CHANGED
|
@@ -76,10 +76,10 @@ export { ComputerVerwijderenDialog } from './components/ComputerVerwijderenDialo
|
|
|
76
76
|
export { GeenPrinterFout } from './lib/printApi.js';
|
|
77
77
|
export const layoutmodule = {
|
|
78
78
|
id: "layout-maker",
|
|
79
|
-
name: "
|
|
80
|
-
version: "1.
|
|
79
|
+
name: "Printen",
|
|
80
|
+
version: "1.61.0",
|
|
81
81
|
nav: {
|
|
82
|
-
label: "
|
|
82
|
+
label: "Printen",
|
|
83
83
|
href: "/layouts-printers/documenten",
|
|
84
84
|
icon: LayoutTemplate,
|
|
85
85
|
children: [
|
|
@@ -106,3 +106,5 @@ export { WerkplekOmzettingStap } from "./components/WerkplekOmzettingStap.js";
|
|
|
106
106
|
export { useLayoutVerwijzingen, bouwOverzicht, plekVanVerwijzing, zetVerwijzingOm, isEigenVerwijzing } from "./lib/layoutVerwijzingen.js";
|
|
107
107
|
export { haalOmzettingVoorstel, pasOmzettingToe, herbereken } from "./lib/werkplekOmzetting.js";
|
|
108
108
|
export { useIsBeheerder } from "./lib/beheerder.js";
|
|
109
|
+
export { toestandVanComputer, maakKoppelVoorstel, STATUS_ONBEKEND_TEKST, zelfdeNaamTekst, } from "./lib/computerKoppeling.js";
|
|
110
|
+
export { computerKoppelVoorstel, koppelComputerOpId } from "./lib/printService.functions.js";
|