@flowselections/layout-maker 1.26.0 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +12 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +38 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +38 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +38 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/aiLayout.functions.d.ts +38 -0
- package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.d.ts +15 -3
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +142 -13
- package/dist-lib/lib/printService.functions.d.ts +152 -0
- package/dist-lib/lib/printService.functions.d.ts.map +1 -1
- package/dist-lib/lib/printService.server.d.ts.map +1 -1
- package/dist-lib/lib/printService.server.js +3 -0
- package/dist-lib/lib/useDocumentData.d.ts +4 -0
- package/dist-lib/lib/useDocumentData.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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":"AAuEA,wBAAgB,cAAc,gCAuQ7B"}
|
|
@@ -16,6 +16,13 @@ const STATUS_VARIANT = {
|
|
|
16
16
|
mislukt: "destructive",
|
|
17
17
|
geannuleerd: "outline",
|
|
18
18
|
};
|
|
19
|
+
/** Leesbare naam van de bron waaruit het document is opgemaakt. */
|
|
20
|
+
const BRON_LABEL = {
|
|
21
|
+
extern_pdf: "aangeleverde PDF",
|
|
22
|
+
eigen_layout: "eigen ontwerp",
|
|
23
|
+
render_html: "meegestuurde opmaak",
|
|
24
|
+
klantlayout: "klantlayout",
|
|
25
|
+
};
|
|
19
26
|
/**
|
|
20
27
|
* Heeft deze opdracht een kenmerk waarmee hij van andere orders te
|
|
21
28
|
* onderscheiden is? Zo niet, dan valt de dubbelbescherming terug op het
|
|
@@ -96,7 +103,11 @@ export function PrintQueuePage() {
|
|
|
96
103
|
await reload(true);
|
|
97
104
|
};
|
|
98
105
|
const bijgewerkt = useAutoRefresh(ronde, lopende ? 5000 : 20000);
|
|
99
|
-
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: "Printwachtrij" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Volg printopdrachten, herstart mislukte prints en print documenten opnieuw." })] }), _jsx("span", { className: "text-muted-foreground text-xs", children: bijgewerktTekst(bijgewerkt) })] }), _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", children: tellingen[s] ?? 0 })] }) }, 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: "Layout" }), _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) && (_jsx(Badge, { variant: "outline", className: "ml-2 text-amber-600", children: "geen orderkenmerk" })), j.foutmelding && (_jsx("span", { className: "block text-xs text-destructive", children: j.foutmelding }))] }), _jsx(TableCell, { className: "text-sm text-muted-foreground", children: plekPerJob.get(j.id) || "—" }),
|
|
106
|
+
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: "Printwachtrij" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Volg printopdrachten, herstart mislukte prints en print documenten opnieuw." })] }), _jsx("span", { className: "text-muted-foreground text-xs", children: bijgewerktTekst(bijgewerkt) })] }), _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", children: tellingen[s] ?? 0 })] }) }, 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: "Layout (aangeleverd \u2192 gebruikt)" }), _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) && (_jsx(Badge, { variant: "outline", className: "ml-2 text-amber-600", children: "geen orderkenmerk" })), j.foutmelding && (_jsx("span", { className: "block text-xs text-destructive", children: j.foutmelding }))] }), _jsx(TableCell, { className: "text-sm text-muted-foreground", children: plekPerJob.get(j.id) || "—" }), _jsxs(TableCell, { className: "text-sm text-muted-foreground", children: [_jsx("span", { title: "Aangeleverd door de module", children: j.layout_id ? layoutNaam.get(j.layout_id) ?? "Onbekende layout" : "geen" }), _jsxs("span", { className: "block text-xs", children: ["\u2192", " ", _jsx("span", { title: "Layout die de wachtrij gebruikte", children: j.gebruikte_layout_id
|
|
107
|
+
? layoutNaam.get(j.gebruikte_layout_id) ?? "Onbekende layout"
|
|
108
|
+
: j.gebruikte_bron
|
|
109
|
+
? "geen layout"
|
|
110
|
+
: "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) ?? "—" : "—" }), _jsx(TableCell, { children: _jsx(Badge, { variant: STATUS_VARIANT[j.status] ?? "outline", children: j.status }) }), _jsx(TableCell, { className: "text-sm text-muted-foreground", children: new Date(j.created_at).toLocaleString("nl-NL") }), _jsx(TableCell, { className: "text-right", children: _jsxs("div", { className: "flex justify-end gap-1", children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: async () => {
|
|
100
111
|
if (!j.layout_id)
|
|
101
112
|
return;
|
|
102
113
|
try {
|
|
@@ -10736,6 +10736,24 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
10736
10736
|
};
|
|
10737
10737
|
Relationships: [];
|
|
10738
10738
|
};
|
|
10739
|
+
maps_job_lease: {
|
|
10740
|
+
Row: {
|
|
10741
|
+
job: string;
|
|
10742
|
+
locked_until: string;
|
|
10743
|
+
updated_at: string;
|
|
10744
|
+
};
|
|
10745
|
+
Insert: {
|
|
10746
|
+
job: string;
|
|
10747
|
+
locked_until?: string;
|
|
10748
|
+
updated_at?: string;
|
|
10749
|
+
};
|
|
10750
|
+
Update: {
|
|
10751
|
+
job?: string;
|
|
10752
|
+
locked_until?: string;
|
|
10753
|
+
updated_at?: string;
|
|
10754
|
+
};
|
|
10755
|
+
Relationships: [];
|
|
10756
|
+
};
|
|
10739
10757
|
maps_request_queue: {
|
|
10740
10758
|
Row: {
|
|
10741
10759
|
attempts: number;
|
|
@@ -13597,6 +13615,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13597
13615
|
foutmelding: string | null;
|
|
13598
13616
|
gebruiker_id: string | null;
|
|
13599
13617
|
gebruiker_naam: string;
|
|
13618
|
+
gebruikte_bron: string | null;
|
|
13619
|
+
gebruikte_layout_id: string | null;
|
|
13600
13620
|
gestart_op: string | null;
|
|
13601
13621
|
herkomst: string | null;
|
|
13602
13622
|
id: string;
|
|
@@ -13627,6 +13647,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13627
13647
|
foutmelding?: string | null;
|
|
13628
13648
|
gebruiker_id?: string | null;
|
|
13629
13649
|
gebruiker_naam?: string;
|
|
13650
|
+
gebruikte_bron?: string | null;
|
|
13651
|
+
gebruikte_layout_id?: string | null;
|
|
13630
13652
|
gestart_op?: string | null;
|
|
13631
13653
|
herkomst?: string | null;
|
|
13632
13654
|
id?: string;
|
|
@@ -13657,6 +13679,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13657
13679
|
foutmelding?: string | null;
|
|
13658
13680
|
gebruiker_id?: string | null;
|
|
13659
13681
|
gebruiker_naam?: string;
|
|
13682
|
+
gebruikte_bron?: string | null;
|
|
13683
|
+
gebruikte_layout_id?: string | null;
|
|
13660
13684
|
gestart_op?: string | null;
|
|
13661
13685
|
herkomst?: string | null;
|
|
13662
13686
|
id?: string;
|
|
@@ -20326,6 +20350,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20326
20350
|
foutmelding: string | null;
|
|
20327
20351
|
gebruiker_id: string | null;
|
|
20328
20352
|
gebruiker_naam: string;
|
|
20353
|
+
gebruikte_bron: string | null;
|
|
20354
|
+
gebruikte_layout_id: string | null;
|
|
20329
20355
|
gestart_op: string | null;
|
|
20330
20356
|
herkomst: string | null;
|
|
20331
20357
|
id: string;
|
|
@@ -20447,6 +20473,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20447
20473
|
foutmelding: string | null;
|
|
20448
20474
|
gebruiker_id: string | null;
|
|
20449
20475
|
gebruiker_naam: string;
|
|
20476
|
+
gebruikte_bron: string | null;
|
|
20477
|
+
gebruikte_layout_id: string | null;
|
|
20450
20478
|
gestart_op: string | null;
|
|
20451
20479
|
herkomst: string | null;
|
|
20452
20480
|
id: string;
|
|
@@ -21503,6 +21531,12 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21503
21531
|
};
|
|
21504
21532
|
Returns: string;
|
|
21505
21533
|
};
|
|
21534
|
+
logistics_document_type_map: {
|
|
21535
|
+
Args: {
|
|
21536
|
+
_document_code: string;
|
|
21537
|
+
};
|
|
21538
|
+
Returns: Database["public"]["Enums"]["doc_layout_type"][];
|
|
21539
|
+
};
|
|
21506
21540
|
logistics_emit_event: {
|
|
21507
21541
|
Args: {
|
|
21508
21542
|
p_event_type: string;
|
|
@@ -21966,6 +22000,10 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21966
22000
|
};
|
|
21967
22001
|
Returns: string;
|
|
21968
22002
|
};
|
|
22003
|
+
maps_kick_queue: {
|
|
22004
|
+
Args: never;
|
|
22005
|
+
Returns: undefined;
|
|
22006
|
+
};
|
|
21969
22007
|
mark_offer_clicked: {
|
|
21970
22008
|
Args: {
|
|
21971
22009
|
p_code: string;
|