@flowselections/layout-maker 1.19.0 → 1.20.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.
Files changed (34) hide show
  1. package/dist-lib/components/DocumentenPage.d.ts.map +1 -1
  2. package/dist-lib/components/DocumentenPage.js +5 -3
  3. package/dist-lib/components/ModuleTabs.d.ts +4 -4
  4. package/dist-lib/components/ModuleTabs.d.ts.map +1 -1
  5. package/dist-lib/components/ModuleTabs.js +4 -11
  6. package/dist-lib/components/PrintStatusBanner.js +1 -1
  7. package/dist-lib/components/PrintenPage.d.ts.map +1 -1
  8. package/dist-lib/components/PrintenPage.js +5 -4
  9. package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
  10. package/dist-lib/components/PrintplekDetailPage.js +15 -3
  11. package/dist-lib/components/PrintplekkenPage.d.ts.map +1 -1
  12. package/dist-lib/components/PrintplekkenPage.js +4 -1
  13. package/dist-lib/components/WerkplekConfiguratiePage.js +3 -3
  14. package/dist-lib/components/WerkplekkenTabel.js +1 -1
  15. package/dist-lib/index.d.ts +1 -3
  16. package/dist-lib/index.d.ts.map +1 -1
  17. package/dist-lib/index.js +2 -4
  18. package/dist-lib/integrations/supabase/auth-middleware.d.ts +8 -0
  19. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  20. package/dist-lib/integrations/supabase/client.server.d.ts +8 -0
  21. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  22. package/dist-lib/integrations/supabase/types.d.ts +8 -0
  23. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  24. package/dist-lib/lib/aiLayout.functions.d.ts +8 -0
  25. package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/printService.functions.d.ts +32 -0
  27. package/dist-lib/lib/printService.functions.d.ts.map +1 -1
  28. package/dist-lib/lib/printplekken.d.ts +15 -0
  29. package/dist-lib/lib/printplekken.d.ts.map +1 -1
  30. package/dist-lib/lib/printplekken.js +46 -0
  31. package/package.json +2 -7
  32. package/dist-lib/components/LayoutsPrintersTabPage.d.ts +0 -2
  33. package/dist-lib/components/LayoutsPrintersTabPage.d.ts.map +0 -1
  34. package/dist-lib/components/LayoutsPrintersTabPage.js +0 -32
@@ -72,4 +72,19 @@ export declare function printerVoorPrintplek(printPlekId: string, documenttype:
72
72
  export declare function printplekVoorComputer(computerNaam: string): Promise<string | null>;
73
73
  /** Naam van een printplek, voor nette foutmeldingen. */
74
74
  export declare function printplekNaam(printPlekId: string): Promise<string | null>;
75
+ /**
76
+ * Alles wat een andere module nodig heeft om één eenheid (bijv. een pickstation)
77
+ * aan een printplek te koppelen: de beschikbare printplekken, de huidige keuze
78
+ * en functies om te zetten of te wissen. Koppelen gebeurt altijd op id.
79
+ */
80
+ export declare function useKoppelingVoorBron(bron: string, bronId: string, label?: string): {
81
+ plekken: Printplek[];
82
+ printplekId: string | null;
83
+ printplekNaam: string | null;
84
+ gekoppeld: boolean;
85
+ laden: boolean;
86
+ koppel: (nieuwePlekId: string) => Promise<void>;
87
+ ontkoppel: () => Promise<void>;
88
+ herlaad: () => Promise<void>;
89
+ };
75
90
  //# sourceMappingURL=printplekken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"printplekken.d.ts","sourceRoot":"","sources":["../../src/lib/printplekken.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAQD,0EAA0E;AAC1E,wBAAgB,eAAe;;;;;;;;EAkC9B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAO9D;AAED,2EAA2E;AAC3E,wBAAgB,0BAA0B;;;;EAczC;AAMD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,iBAI1E;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,iBAGlD;AAED,sFAAsF;AACtF,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAMzF;AAED,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,iBAM3D;AAED,4EAA4E;AAC5E,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,iBAqB9B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,iBAYf;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAO/D;AAED,iEAAiE;AACjE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ5F;AAMD,6EAA6E;AAC7E,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED,oEAAoE;AACpE,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxF;AAED,wDAAwD;AACxD,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO/E"}
1
+ {"version":3,"file":"printplekken.d.ts","sourceRoot":"","sources":["../../src/lib/printplekken.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAQD,0EAA0E;AAC1E,wBAAgB,eAAe;;;;;;;;EAkC9B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAO9D;AAED,2EAA2E;AAC3E,wBAAgB,0BAA0B;;;;EAczC;AAMD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,iBAI1E;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,iBAGlD;AAED,sFAAsF;AACtF,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAMzF;AAED,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,iBAM3D;AAED,4EAA4E;AAC5E,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,iBAqB9B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,iBAYf;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAO/D;AAED,iEAAiE;AACjE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ5F;AAMD,6EAA6E;AAC7E,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED,oEAAoE;AACpE,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxF;AAED,wDAAwD;AACxD,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO/E;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;2BAoBxD,MAAM;;;EA0B9B"}
@@ -196,3 +196,49 @@ export async function printplekNaam(printPlekId) {
196
196
  .maybeSingle();
197
197
  return data?.naam ?? null;
198
198
  }
199
+ // ---------------------------------------------------------------------------
200
+ // Publieke koppel-hook voor andere modules
201
+ // ---------------------------------------------------------------------------
202
+ /**
203
+ * Alles wat een andere module nodig heeft om één eenheid (bijv. een pickstation)
204
+ * aan een printplek te koppelen: de beschikbare printplekken, de huidige keuze
205
+ * en functies om te zetten of te wissen. Koppelen gebeurt altijd op id.
206
+ */
207
+ export function useKoppelingVoorBron(bron, bronId, label) {
208
+ const { plekken, laden: plekkenLaden, reload } = useBeschikbarePrintplekken();
209
+ const [printplekId, setPrintplekId] = useState(null);
210
+ const [laden, setLaden] = useState(true);
211
+ const lees = useCallback(async () => {
212
+ if (!bron || !bronId) {
213
+ setPrintplekId(null);
214
+ setLaden(false);
215
+ return;
216
+ }
217
+ setPrintplekId(await printplekVoorBron(bron, bronId));
218
+ setLaden(false);
219
+ }, [bron, bronId]);
220
+ useEffect(() => {
221
+ void lees();
222
+ }, [lees]);
223
+ const koppel = useCallback(async (nieuwePlekId) => {
224
+ await koppelBronAanPrintplek(nieuwePlekId, bron, bronId, label);
225
+ await lees();
226
+ await reload();
227
+ }, [bron, bronId, label, lees, reload]);
228
+ const ontkoppel = useCallback(async () => {
229
+ await ontkoppelBron(bron, bronId);
230
+ await lees();
231
+ await reload();
232
+ }, [bron, bronId, lees, reload]);
233
+ const plek = plekken.find((p) => p.id === printplekId) ?? null;
234
+ return {
235
+ plekken,
236
+ printplekId,
237
+ printplekNaam: plek?.naam ?? null,
238
+ gekoppeld: !!printplekId,
239
+ laden: laden || plekkenLaden,
240
+ koppel,
241
+ ontkoppel,
242
+ herlaad: lees,
243
+ };
244
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/layout-maker",
3
- "version": "1.19.0",
3
+ "version": "1.20.1",
4
4
  "flowselections": {
5
5
  "moduleId": "layout-maker",
6
6
  "pages": [
@@ -9,14 +9,9 @@
9
9
  "route": "layouts-printers",
10
10
  "title": "Documenten"
11
11
  },
12
- {
13
- "export": "LayoutsPrintersTabPage",
14
- "route": "layouts-printers/$tab",
15
- "title": "Layouts en printers"
16
- },
17
12
  {
18
13
  "export": "WerkplekConfiguratiePage",
19
- "route": "layouts-printers/printers/$computerId",
14
+ "route": "layouts-printers/printplekken/computers/$computerId",
20
15
  "title": "Werkplek configureren"
21
16
  },
22
17
  {
@@ -1,2 +0,0 @@
1
- export declare function LayoutsPrintersTabPage(): import("react").JSX.Element;
2
- //# sourceMappingURL=LayoutsPrintersTabPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutsPrintersTabPage.d.ts","sourceRoot":"","sources":["../../src/components/LayoutsPrintersTabPage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,sBAAsB,gCAmBrC"}
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // ============================================================================
3
- // src/components/LayoutsPrintersTabPage.tsx — één pagina die de tabblad-URL's
4
- // van de module bedient (/layouts-printers/logos, /routering, /printers).
5
- // ============================================================================
6
- import { useEffect } from "react";
7
- import { useNavigate, useRouterState } from "@tanstack/react-router";
8
- import { DocumentenPage } from "./DocumentenPage.js";
9
- import { PrintenPage } from "./PrintenPage.js";
10
- function huidigTab(pathname) {
11
- const delen = pathname.split("/").filter(Boolean);
12
- return delen[delen.length - 1] ?? "";
13
- }
14
- export function LayoutsPrintersTabPage() {
15
- const navigate = useNavigate();
16
- const pathname = useRouterState({ select: (s) => s.location.pathname });
17
- const tab = huidigTab(pathname);
18
- const stuurDoor = tab === "printers"
19
- ? "/layouts-printers/printplekken"
20
- : tab === "logos" || tab === "routering"
21
- ? null
22
- : "/layouts-printers";
23
- useEffect(() => {
24
- if (stuurDoor)
25
- void navigate({ to: stuurDoor, replace: true });
26
- }, [stuurDoor, navigate]);
27
- if (tab === "logos")
28
- return _jsx(DocumentenPage, { tab: "logos" });
29
- if (tab === "routering")
30
- return _jsx(PrintenPage, { tab: "routering" });
31
- return _jsx("p", { className: "text-muted-foreground p-6 text-sm", children: "Doorsturen\u2026" });
32
- }