@flowselections/floriday-verkoop-module 1.0.87 → 1.0.93
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/verkoop/CreateOrderPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CreateOrderPage.js +2 -2
- package/dist-lib/components/verkoop/DiagnoseConnectionDialog.js +1 -1
- package/dist-lib/components/verkoop/EditLocalOrderDialog.js +3 -3
- package/dist-lib/components/verkoop/OrderControlStatusCard.js +1 -1
- package/dist-lib/components/verkoop/OrderKarindelingCard.js +2 -2
- package/dist-lib/components/verkoop/OrderLinePackingCard.js +1 -1
- package/dist-lib/components/verkoop/OrderPickupMomentPicker.d.ts +2 -2
- package/dist-lib/components/verkoop/OrderPickupMomentPicker.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderPickupMomentPicker.js +10 -23
- package/dist-lib/components/verkoop/OrderShipmentsCard.js +1 -1
- package/dist-lib/components/verkoop/ProductDimensionsSettings.js +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.js +12 -12
- package/dist-lib/components/verkoop/SalesOrdersFilterPanel.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrdersFilters.js +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.js +2 -2
- package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.js +1 -1
- package/dist-lib/components/verkoop/VerkoopOrdersPage.js +15 -15
- package/dist-lib/index.d.ts +4 -5
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +5 -6
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +162 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/belading.server.js +1 -1
- package/dist-lib/lib/buffer-events.functions.d.ts +1 -1
- package/dist-lib/lib/buffer-events.functions.js +1 -1
- package/dist-lib/lib/cart-layers.functions.d.ts +4 -4
- package/dist-lib/lib/cart-layers.functions.js +2 -2
- package/dist-lib/lib/cart-lock.functions.d.ts +1 -1
- package/dist-lib/lib/cart-lock.functions.js +2 -2
- package/dist-lib/lib/cart-planning-settings.functions.d.ts +11 -11
- package/dist-lib/lib/cart-planning-settings.functions.js +1 -1
- package/dist-lib/lib/cart-replan.functions.d.ts +4 -4
- package/dist-lib/lib/cart-replan.functions.js +9 -9
- package/dist-lib/lib/create-order.functions.d.ts +18 -18
- package/dist-lib/lib/create-order.functions.js +15 -15
- package/dist-lib/lib/cron/index.d.ts +3 -3
- package/dist-lib/lib/cron/index.js +3 -3
- package/dist-lib/lib/cron/invoice-due.js +1 -1
- package/dist-lib/lib/cron/sync-salesorders.js +2 -2
- package/dist-lib/lib/cron/sync-tradeitems.js +1 -1
- package/dist-lib/lib/engine-block-alerts.server.js +4 -4
- package/dist-lib/lib/expand-group-order-items.d.ts +1 -1
- package/dist-lib/lib/floriday-change-diff.check.js +2 -2
- package/dist-lib/lib/floriday-gateway.server.d.ts +1 -1
- package/dist-lib/lib/floriday-gateway.server.js +2 -2
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +2 -2
- package/dist-lib/lib/floriday-logistic-labels.functions.js +5 -5
- package/dist-lib/lib/floriday-mirror.functions.d.ts +1 -1
- package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.js +19 -12
- package/dist-lib/lib/floriday-public.functions.d.ts +7 -7
- package/dist-lib/lib/floriday-public.functions.js +2 -2
- package/dist-lib/lib/floriday-status.d.ts +1 -1
- package/dist-lib/lib/floriday-status.server.d.ts +1 -1
- package/dist-lib/lib/floriday-status.server.js +2 -2
- package/dist-lib/lib/floriday-sync.js +1 -1
- package/dist-lib/lib/floriday-unlinked-products.js +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +3 -3
- package/dist-lib/lib/floriday-writes.functions.js +3 -3
- package/dist-lib/lib/invoice-timing.check.d.ts +2 -0
- package/dist-lib/lib/invoice-timing.check.d.ts.map +1 -0
- package/dist-lib/lib/invoice-timing.check.js +19 -0
- package/dist-lib/lib/invoice-timing.d.ts +2 -0
- package/dist-lib/lib/invoice-timing.d.ts.map +1 -1
- package/dist-lib/lib/invoice-timing.functions.d.ts +5 -5
- package/dist-lib/lib/invoice-timing.functions.js +8 -8
- package/dist-lib/lib/invoice-timing.js +22 -4
- package/dist-lib/lib/invoice-timing.server.d.ts +8 -3
- package/dist-lib/lib/invoice-timing.server.d.ts.map +1 -1
- package/dist-lib/lib/invoice-timing.server.js +70 -34
- package/dist-lib/lib/load-carriers.functions.d.ts +2 -2
- package/dist-lib/lib/load-carriers.functions.js +2 -2
- package/dist-lib/lib/load-carriers.server.d.ts +1 -1
- package/dist-lib/lib/load-carriers.server.js +1 -1
- package/dist-lib/lib/logistics-buffer.server.js +1 -1
- package/dist-lib/lib/logistics-engine.functions.d.ts +8 -8
- package/dist-lib/lib/logistics-engine.functions.js +6 -6
- package/dist-lib/lib/logistics-engine.server.d.ts +1 -1
- package/dist-lib/lib/logistics-engine.server.js +4 -4
- package/dist-lib/lib/logistics-stock.functions.d.ts +3 -3
- package/dist-lib/lib/logistics-stock.functions.js +3 -3
- package/dist-lib/lib/order-addresses.functions.d.ts +1 -1
- package/dist-lib/lib/order-addresses.functions.js +2 -2
- package/dist-lib/lib/order-block-mail.server.js +3 -3
- package/dist-lib/lib/order-buffers.functions.d.ts +3 -3
- package/dist-lib/lib/order-buffers.functions.js +3 -3
- package/dist-lib/lib/order-cancel.server.js +6 -6
- package/dist-lib/lib/order-carrier.functions.d.ts +2 -2
- package/dist-lib/lib/order-carrier.functions.js +2 -2
- package/dist-lib/lib/order-departure.check.d.ts +2 -0
- package/dist-lib/lib/order-departure.check.d.ts.map +1 -0
- package/dist-lib/lib/order-departure.check.js +25 -0
- package/dist-lib/lib/order-departure.d.ts +25 -0
- package/dist-lib/lib/order-departure.d.ts.map +1 -0
- package/dist-lib/lib/order-departure.js +54 -0
- package/dist-lib/lib/order-departure.server.d.ts +4 -0
- package/dist-lib/lib/order-departure.server.d.ts.map +1 -0
- package/dist-lib/lib/order-departure.server.js +62 -0
- package/dist-lib/lib/order-fulfill.functions.d.ts +1 -1
- package/dist-lib/lib/order-fulfill.functions.js +3 -3
- package/dist-lib/lib/order-item-packing.functions.d.ts +3 -3
- package/dist-lib/lib/order-item-packing.functions.js +3 -3
- package/dist-lib/lib/order-patch.check.d.ts +2 -0
- package/dist-lib/lib/order-patch.check.d.ts.map +1 -0
- package/dist-lib/lib/order-patch.check.js +40 -0
- package/dist-lib/lib/order-patch.d.ts +18 -0
- package/dist-lib/lib/order-patch.d.ts.map +1 -0
- package/dist-lib/lib/order-patch.js +105 -0
- package/dist-lib/lib/order-pickup.functions.d.ts +10 -15
- package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-pickup.functions.js +51 -78
- package/dist-lib/lib/order-shipments.functions.d.ts +4 -4
- package/dist-lib/lib/order-shipments.functions.js +6 -6
- package/dist-lib/lib/plan-coverage.check.js +1 -1
- package/dist-lib/lib/plan-coverage.server.d.ts +1 -1
- package/dist-lib/lib/plan-coverage.server.js +1 -1
- package/dist-lib/lib/product-dimensions.functions.d.ts +2 -2
- package/dist-lib/lib/product-dimensions.functions.js +1 -1
- package/dist-lib/lib/salesorders-list.functions.d.ts +5 -5
- package/dist-lib/lib/salesorders-list.functions.js +4 -4
- package/dist-lib/lib/salesorders-list.server.d.ts +2 -2
- package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.js +39 -53
- package/dist-lib/lib/salesorders-mapping.d.ts +3 -3
- package/dist-lib/lib/salesorders-mapping.js +2 -2
- package/dist-lib/lib/salesorders.functions.d.ts +7 -7
- package/dist-lib/lib/salesorders.functions.js +20 -20
- package/dist-lib/lib/stock-consumption-alerts.functions.d.ts +2 -2
- package/dist-lib/lib/stock-consumption-alerts.functions.js +1 -1
- package/dist-lib/lib/tradeitems.functions.d.ts +1068 -1068
- package/dist-lib/lib/tradeitems.functions.js +3 -3
- package/dist-lib/lib/useAllowedLoadCarriers.d.ts +1 -1
- package/dist-lib/lib/useAllowedLoadCarriers.js +1 -1
- package/dist-lib/lib/useBufferEvents.d.ts +1 -1
- package/dist-lib/lib/useBufferEvents.js +2 -2
- package/dist-lib/lib/useLocalSalesOrderDetailQuery.d.ts +2 -2
- package/dist-lib/lib/useLocalSalesOrderDetailQuery.js +2 -2
- package/dist-lib/lib/useSalesOrderDetailQuery.d.ts +1 -1
- package/dist-lib/lib/useSalesOrderDetailQuery.js +2 -2
- package/dist-lib/lib/useSalesOrdersQuery.d.ts +2 -2
- package/dist-lib/lib/useSalesOrdersQuery.js +3 -3
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrderPage.d.ts","sourceRoot":"","sources":["../../../src/components/verkoop/CreateOrderPage.tsx"],"names":[],"mappings":"AAqFA,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"CreateOrderPage.d.ts","sourceRoot":"","sources":["../../../src/components/verkoop/CreateOrderPage.tsx"],"names":[],"mappings":"AAqFA,wBAAgB,eAAe,gCAyzB9B"}
|
|
@@ -10,7 +10,7 @@ import { Link, useNavigate } from "@tanstack/react-router";
|
|
|
10
10
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
11
11
|
import { ArrowLeft, Plus, Trash2 } from "lucide-react";
|
|
12
12
|
import { useServerFn } from "@tanstack/react-start";
|
|
13
|
-
import { SearchableSelect } from "./SearchableSelect";
|
|
13
|
+
import { SearchableSelect } from "./SearchableSelect.js";
|
|
14
14
|
import { computeEarliestDelivery } from "../../lib/carrier-availability.js";
|
|
15
15
|
import { listCustomersForCreateOrder, ensureCustomerFromTwinfield, listProductsForCreateOrder, listDeliveryLocationsForCustomerCO, listPickupLocationsCO, listCarriersForCreateOrder, getOrderPickDaysCO, listBeladingOptionsForProducts, createManualOrder, getEffectivePrices, } from "../../lib/create-order.functions.js";
|
|
16
16
|
import { checkOrderStockAllowed } from "../../lib/logistics-stock.functions.js";
|
|
@@ -374,7 +374,7 @@ export function CreateOrderPage() {
|
|
|
374
374
|
return;
|
|
375
375
|
}
|
|
376
376
|
setDeliveryDate(v);
|
|
377
|
-
} }), _jsxs("label", { className: "mt-1 flex items-center gap-2 text-sm text-foreground", children: [_jsx("input", { type: "checkbox", checked: isReservation, onChange: (e) => setIsReservation(e.target.checked), className: "h-4 w-4 rounded border-input" }), "Reservering (nog geen vaste leverdatum)"] }), isReservation ? (_jsx("div", { className: "text-xs text-muted-foreground", children: "De bestelling wordt als reservering aangemaakt zonder leverdatumvalidatie." })) : !canPickDate ? (_jsx("div", { className: "text-xs text-muted-foreground", children: "Selecteer eerst klant, afleverlocatie, afhaallocatie en vervoerder." })) : (_jsxs("div", { className: "text-xs text-muted-foreground", children: ["Eerst beschikbare leverdatum is ", earliestLabel, signupLabel ? `, o.b.v. het eerstvolgende aanmeldmoment (${signupLabel})` : "", " ", "en orderpicktijd (", pickDays, "d)."] }))] }), _jsxs("div", { className: "space-y-2", children: [_jsx(Label, { children: "Bestelregels" }), _jsxs("div", { className: "grid grid-cols-12 gap-2 text-xs text-muted-foreground px-1", children: [_jsx("div", { className: "col-span-4", children: "Product" }), _jsx("div", { className: "col-span-3", children: "Belading" }), _jsx("div", { className: "col-span-2", children: "Fusten" }), _jsx("div", { className: "col-span-2", children: "Prijs" }), _jsx("div", { className: "col-span-1" })] }), lines.map((line, idx) => {
|
|
377
|
+
} }), _jsxs("label", { className: "mt-1 flex items-center gap-2 text-sm text-foreground", children: [_jsx("input", { type: "checkbox", checked: isReservation, onChange: (e) => setIsReservation(e.target.checked), className: "h-4 w-4 rounded border-input" }), "Reservering (nog geen vaste leverdatum)"] }), isReservation ? (_jsx("div", { className: "text-xs text-muted-foreground", children: "De bestelling wordt als reservering aangemaakt zonder leverdatumvalidatie." })) : !canPickDate ? (_jsx("div", { className: "text-xs text-muted-foreground", children: "Selecteer eerst klant, afleverlocatie, afhaallocatie en vervoerder." })) : (_jsxs("div", { className: "text-xs text-muted-foreground", children: ["Eerst beschikbare leverdatum is ", earliestLabel, signupLabel ? `, o.b.v. het eerstvolgende aanmeldmoment (${signupLabel})` : "", " ", "en orderpicktijd (", pickDays, "d).", _jsx("div", { className: "mt-0.5", children: "Het definitieve ophaalmoment wordt bepaald zodra de order is aangemaakt." })] }))] }), _jsxs("div", { className: "space-y-2", children: [_jsx(Label, { children: "Bestelregels" }), _jsxs("div", { className: "grid grid-cols-12 gap-2 text-xs text-muted-foreground px-1", children: [_jsx("div", { className: "col-span-4", children: "Product" }), _jsx("div", { className: "col-span-3", children: "Belading" }), _jsx("div", { className: "col-span-2", children: "Fusten" }), _jsx("div", { className: "col-span-2", children: "Prijs" }), _jsx("div", { className: "col-span-1" })] }), lines.map((line, idx) => {
|
|
378
378
|
const product = line.product_id ? products.find((p) => p.id === line.product_id) : null;
|
|
379
379
|
const defaultBelading = completeBelading(product);
|
|
380
380
|
const effBelading = completeBelading(line.belading) ?? defaultBelading;
|
|
@@ -3,7 +3,7 @@ import { useEffect, useState } from "react";
|
|
|
3
3
|
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, toast, } from "@flowselections/core";
|
|
4
4
|
import { useServerFn } from "@tanstack/react-start";
|
|
5
5
|
import { CheckCircle2, XCircle, Loader2, RefreshCw } from "lucide-react";
|
|
6
|
-
import { diagnoseFloridayConnection } from "../../lib/salesorders.functions";
|
|
6
|
+
import { diagnoseFloridayConnection } from "../../lib/salesorders.functions.js";
|
|
7
7
|
export function DiagnoseConnectionDialog({ open, onOpenChange, }) {
|
|
8
8
|
const run = useServerFn(diagnoseFloridayConnection);
|
|
9
9
|
const [loading, setLoading] = useState(false);
|
|
@@ -4,9 +4,9 @@ import { Button, Input, toast } from "@flowselections/core";
|
|
|
4
4
|
import { Trash2 } from "lucide-react";
|
|
5
5
|
import { useServerFn } from "@tanstack/react-start";
|
|
6
6
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
7
|
-
import { getLocalOrderForEdit, updateLocalOrder, listProductsForCreateOrder, } from "../../lib/create-order.functions";
|
|
8
|
-
import { checkOrderStockAllowed } from "../../lib/logistics-stock.functions";
|
|
9
|
-
import { SearchableSelect } from "./SearchableSelect";
|
|
7
|
+
import { getLocalOrderForEdit, updateLocalOrder, listProductsForCreateOrder, } from "../../lib/create-order.functions.js";
|
|
8
|
+
import { checkOrderStockAllowed } from "../../lib/logistics-stock.functions.js";
|
|
9
|
+
import { SearchableSelect } from "./SearchableSelect.js";
|
|
10
10
|
/** Positief geheel getal of null — ontbrekende belading blijft onbekend. */
|
|
11
11
|
const pos = (v) => {
|
|
12
12
|
const n = Number(v);
|
|
@@ -6,7 +6,7 @@ import { useServerFn } from "@tanstack/react-start";
|
|
|
6
6
|
import { Button } from "@flowselections/core";
|
|
7
7
|
import { toast } from "sonner";
|
|
8
8
|
import { CheckCircle2, ClipboardCheck } from "lucide-react";
|
|
9
|
-
import { setSalesOrderControlled } from "../../lib/salesorders.functions";
|
|
9
|
+
import { setSalesOrderControlled } from "../../lib/salesorders.functions.js";
|
|
10
10
|
function fmt(iso) {
|
|
11
11
|
if (!iso)
|
|
12
12
|
return "";
|
|
@@ -11,8 +11,8 @@ import { LayoutGrid, RefreshCw } from "lucide-react";
|
|
|
11
11
|
import { getOrderPlanCoverage } from "../../lib/cart-replan.functions.js";
|
|
12
12
|
import { summarize } from "../../lib/plan-coverage.js";
|
|
13
13
|
import { resolveProductName } from "../../lib/product-name.js";
|
|
14
|
-
import { CartLayersDialog } from "./CartLayersDialog";
|
|
15
|
-
import { PlanCoverageBadge } from "./PlanCoverageBadge";
|
|
14
|
+
import { CartLayersDialog } from "./CartLayersDialog.js";
|
|
15
|
+
import { PlanCoverageBadge } from "./PlanCoverageBadge.js";
|
|
16
16
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
17
17
|
const PICK_LABEL = {
|
|
18
18
|
geen_pickrij: "Geen pickrij",
|
|
@@ -9,7 +9,7 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
|
9
9
|
import { useServerFn } from "@tanstack/react-start";
|
|
10
10
|
import { Badge, Button, Input, toast } from "@flowselections/core";
|
|
11
11
|
import { Lock, LockOpen } from "lucide-react";
|
|
12
|
-
import { listOrderItemPacking, setOrderItemPacking, clearOrderItemPackingLock, } from "../../lib/order-item-packing.functions";
|
|
12
|
+
import { listOrderItemPacking, setOrderItemPacking, clearOrderItemPackingLock, } from "../../lib/order-item-packing.functions.js";
|
|
13
13
|
function fmtWhen(iso) {
|
|
14
14
|
if (!iso)
|
|
15
15
|
return "";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Toont het
|
|
3
|
-
*
|
|
2
|
+
* Toont het ophaal- en aanmeldmoment zoals de planning het heeft berekend.
|
|
3
|
+
* Zonder `readOnly` kun je een ander moment van de vervoerder kiezen.
|
|
4
4
|
*/
|
|
5
5
|
export declare function OrderPickupMomentPicker({ orderId, readOnly, compact, }: {
|
|
6
6
|
orderId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPickupMomentPicker.d.ts","sourceRoot":"","sources":["../../../src/components/verkoop/OrderPickupMomentPicker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OrderPickupMomentPicker.d.ts","sourceRoot":"","sources":["../../../src/components/verkoop/OrderPickupMomentPicker.tsx"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,QAAgB,EAChB,OAAe,GAChB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,+BAuEA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useState } from "react";
|
|
3
3
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
4
4
|
import { useServerFn } from "@tanstack/react-start";
|
|
5
5
|
import { Clock } from "lucide-react";
|
|
6
|
-
import { getOrderPickupMoment, setOrderPickupMoment
|
|
6
|
+
import { getOrderPickupMoment, setOrderPickupMoment } from "../../lib/order-pickup.functions.js";
|
|
7
7
|
/**
|
|
8
|
-
* Toont het
|
|
9
|
-
*
|
|
8
|
+
* Toont het ophaal- en aanmeldmoment zoals de planning het heeft berekend.
|
|
9
|
+
* Zonder `readOnly` kun je een ander moment van de vervoerder kiezen.
|
|
10
10
|
*/
|
|
11
11
|
export function OrderPickupMomentPicker({ orderId, readOnly = false, compact = false, }) {
|
|
12
12
|
const qc = useQueryClient();
|
|
@@ -14,18 +14,12 @@ export function OrderPickupMomentPicker({ orderId, readOnly = false, compact = f
|
|
|
14
14
|
const saveMoment = useServerFn(setOrderPickupMoment);
|
|
15
15
|
const [saving, setSaving] = useState(false);
|
|
16
16
|
const [error, setError] = useState(null);
|
|
17
|
-
const [value, setValue] = useState("");
|
|
18
17
|
const { data, isLoading } = useQuery({
|
|
19
18
|
queryKey: ["order-pickup-moment", orderId],
|
|
20
19
|
queryFn: () => fetchMoment({ data: { orderId } }),
|
|
21
20
|
staleTime: 30000,
|
|
22
21
|
});
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
setValue(data?.selectedKey ?? "");
|
|
25
|
-
}, [data?.selectedKey]);
|
|
26
|
-
const options = data?.options ?? [];
|
|
27
22
|
async function onChange(next) {
|
|
28
|
-
setValue(next);
|
|
29
23
|
if (!next)
|
|
30
24
|
return;
|
|
31
25
|
setSaving(true);
|
|
@@ -35,23 +29,16 @@ export function OrderPickupMomentPicker({ orderId, readOnly = false, compact = f
|
|
|
35
29
|
await qc.invalidateQueries({ queryKey: ["order-pickup-moment"] });
|
|
36
30
|
await qc.invalidateQueries({ queryKey: ["sales-orders"] });
|
|
37
31
|
}
|
|
38
|
-
catch
|
|
39
|
-
setError(
|
|
40
|
-
setValue(data?.selectedKey ?? "");
|
|
32
|
+
catch {
|
|
33
|
+
setError("Het ophaalmoment is niet opgeslagen. Probeer het opnieuw.");
|
|
41
34
|
}
|
|
42
35
|
finally {
|
|
43
36
|
setSaving(false);
|
|
44
37
|
}
|
|
45
38
|
}
|
|
46
|
-
if (isLoading)
|
|
39
|
+
if (isLoading)
|
|
47
40
|
return _jsx("span", { className: "text-sm text-muted-foreground", children: "Laden\u2026" });
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
if (readOnly) {
|
|
53
|
-
const current = options.find((o) => o.key === (data?.selectedKey ?? "")) ?? options[0];
|
|
54
|
-
return (_jsxs("div", { className: "flex items-center gap-2 text-sm text-foreground", children: [!compact && _jsx(Clock, { className: "h-4 w-4 text-muted-foreground" }), _jsx("span", { children: current.label })] }));
|
|
55
|
-
}
|
|
56
|
-
return (_jsxs("div", { className: compact ? "" : "inline-flex flex-col gap-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [!compact && _jsx(Clock, { className: "h-4 w-4 text-muted-foreground" }), _jsx("select", { className: "h-9 min-w-[18rem] rounded-md border border-border bg-background px-2 text-sm text-foreground disabled:opacity-60", value: value, disabled: saving, onChange: (e) => onChange(e.target.value), children: options.map((o) => (_jsx("option", { value: o.key, children: o.label }, o.key))) }), saving && _jsx("span", { className: "text-xs text-muted-foreground", children: "Opslaan\u2026" })] }), error && _jsx("span", { className: "text-xs text-destructive", children: error })] }));
|
|
41
|
+
const view = data?.view;
|
|
42
|
+
const options = data?.options ?? [];
|
|
43
|
+
return (_jsxs("div", { className: compact ? "space-y-1" : "inline-flex flex-col gap-1", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2 text-sm text-foreground", children: [!compact && _jsx(Clock, { className: "h-4 w-4 text-muted-foreground" }), view?.text ? (_jsxs("span", { children: [view.text, data?.deliveryTime ? (_jsxs("span", { className: "text-muted-foreground", children: [" \u00B7 aanlevering ", data.deliveryTime] })) : null] })) : (_jsx("span", { className: "text-muted-foreground", children: view?.reason ?? "Geen ophaalmoment bekend" })), view?.lateSignup && (_jsx("span", { className: "rounded border border-destructive/40 px-1.5 py-0.5 text-xs text-destructive", children: "te laat aangemeld" }))] }), !readOnly && options.length > 1 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("select", { className: "h-9 min-w-[18rem] rounded-md border border-border bg-background px-2 text-sm text-foreground disabled:opacity-60", value: data?.selectedKey ?? "", disabled: saving, onChange: (e) => onChange(e.target.value), "aria-label": "Ander ophaalmoment kiezen", children: [!data?.selectedKey && _jsx("option", { value: "", children: "Ander ophaalmoment kiezen\u2026" }), options.map((o) => (_jsx("option", { value: o.key, children: o.label }, o.key)))] }), saving && _jsx("span", { className: "text-xs text-muted-foreground", children: "Opslaan\u2026" })] })), error && _jsx("span", { className: "text-xs text-destructive", children: error })] }));
|
|
57
44
|
}
|
|
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
5
5
|
import { useMemo, useState } from "react";
|
|
6
6
|
import { Badge, Button, Card, CardContent, CardHeader, CardTitle, Input, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, toast, } from "@flowselections/core";
|
|
7
7
|
import { CalendarPlus, CheckCircle2, Pencil, Trash2, Truck } from "lucide-react";
|
|
8
|
-
import { EditLocalOrderDialog } from "./EditLocalOrderDialog";
|
|
8
|
+
import { EditLocalOrderDialog } from "./EditLocalOrderDialog.js";
|
|
9
9
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
10
10
|
import { useServerFn } from "@tanstack/react-start";
|
|
11
11
|
import { formatBeladingNotation } from "../../lib/load-carrier-labels.js";
|
|
@@ -7,7 +7,7 @@ import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
|
7
7
|
import { useServerFn } from "@tanstack/react-start";
|
|
8
8
|
import { Badge, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Input, Label, Switch, toast, } from "@flowselections/core";
|
|
9
9
|
import { AlertTriangle, Ruler, Search } from "lucide-react";
|
|
10
|
-
import { SearchableSelect } from "./SearchableSelect";
|
|
10
|
+
import { SearchableSelect } from "./SearchableSelect.js";
|
|
11
11
|
import { listProductDimensions, saveProductDimensions, } from "../../lib/product-dimensions.functions.js";
|
|
12
12
|
export function ProductDimensionsSettingsCard() {
|
|
13
13
|
const [search, setSearch] = useState("");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SalesOrderDTO } from "../../lib/salesorders-mapping";
|
|
1
|
+
import type { SalesOrderDTO } from "../../lib/salesorders-mapping.js";
|
|
2
2
|
export declare function SalesOrderDetailView({ order, sellerFallback, hideKarindeling, }: {
|
|
3
3
|
order: SalesOrderDTO;
|
|
4
4
|
sellerFallback?: string | null;
|
|
@@ -2,18 +2,18 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { CheckCircle2, ImageIcon, MapPin, Truck } from "lucide-react";
|
|
3
3
|
import { useQuery } from "@tanstack/react-query";
|
|
4
4
|
import { useServerFn } from "@tanstack/react-start";
|
|
5
|
-
import { formatBeladingNotation, formatLoadUnits } from "../../lib/load-carrier-labels";
|
|
6
|
-
import { orderStageLabel, orderStageBadgeClass } from "../../lib/order-status";
|
|
7
|
-
import { getOrderAddresses } from "../../lib/order-addresses.functions";
|
|
8
|
-
import { OrderKarindelingCard } from "./OrderKarindelingCard";
|
|
9
|
-
import { OrderLinePackingCard } from "./OrderLinePackingCard";
|
|
10
|
-
import { OrderAfleverbrievenCard } from "./OrderAfleverbrievenCard";
|
|
11
|
-
import { OrderShipmentsCard } from "./OrderShipmentsCard";
|
|
12
|
-
import { OrderControlStatusCard } from "./OrderControlStatusCard";
|
|
13
|
-
import { OrderCarrierPicker } from "./OrderCarrierPicker";
|
|
14
|
-
import { OrderPickupMomentPicker } from "./OrderPickupMomentPicker";
|
|
15
|
-
import { PlanCoverageBadge } from "./PlanCoverageBadge";
|
|
16
|
-
import { FloridayStageLine } from "./FloridayStageLine";
|
|
5
|
+
import { formatBeladingNotation, formatLoadUnits } from "../../lib/load-carrier-labels.js";
|
|
6
|
+
import { orderStageLabel, orderStageBadgeClass } from "../../lib/order-status.js";
|
|
7
|
+
import { getOrderAddresses } from "../../lib/order-addresses.functions.js";
|
|
8
|
+
import { OrderKarindelingCard } from "./OrderKarindelingCard.js";
|
|
9
|
+
import { OrderLinePackingCard } from "./OrderLinePackingCard.js";
|
|
10
|
+
import { OrderAfleverbrievenCard } from "./OrderAfleverbrievenCard.js";
|
|
11
|
+
import { OrderShipmentsCard } from "./OrderShipmentsCard.js";
|
|
12
|
+
import { OrderControlStatusCard } from "./OrderControlStatusCard.js";
|
|
13
|
+
import { OrderCarrierPicker } from "./OrderCarrierPicker.js";
|
|
14
|
+
import { OrderPickupMomentPicker } from "./OrderPickupMomentPicker.js";
|
|
15
|
+
import { PlanCoverageBadge } from "./PlanCoverageBadge.js";
|
|
16
|
+
import { FloridayStageLine } from "./FloridayStageLine.js";
|
|
17
17
|
function AddressCard({ icon, lines, extra, }) {
|
|
18
18
|
return (_jsxs("div", { className: "inline-flex max-w-xs items-start gap-3 rounded-md border border-border bg-card p-3", children: [_jsx("div", { className: "flex h-9 w-9 items-center justify-center rounded-md bg-primary/10 text-primary", children: icon }), _jsxs("div", { className: "text-sm", children: [lines.length > 0 ? lines.map((l, i) => _jsx("div", { children: l }, i)) : _jsx("div", { children: "\u2014" }), extra && _jsx("div", { className: "mt-1 text-xs text-muted-foreground", children: extra })] })] }));
|
|
19
19
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Filters } from "./SalesOrdersFilters";
|
|
1
|
+
import type { Filters } from "./SalesOrdersFilters.js";
|
|
2
2
|
export declare function countActiveFilters(f: Filters): number;
|
|
3
3
|
export declare function SalesOrdersFilterPanel({ open, onOpenChange, value, onChange, }: {
|
|
4
4
|
open: boolean;
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, Input, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
|
|
4
4
|
import { ChevronDown, ChevronLeft, ChevronRight, MoreVertical, Search, } from "lucide-react";
|
|
5
|
-
import { WeekCalendar } from "./WeekCalendar";
|
|
5
|
+
import { WeekCalendar } from "./WeekCalendar.js";
|
|
6
6
|
function getCurrentWeek() {
|
|
7
7
|
const now = new Date();
|
|
8
8
|
const target = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { SalesOrderDTO } from "../../lib/salesorders-mapping";
|
|
2
|
+
import type { SalesOrderDTO } from "../../lib/salesorders-mapping.js";
|
|
3
3
|
/** Stabiele rij-id: buffers zijn serverside al samengevouwen tot één rij. */
|
|
4
4
|
export declare function salesOrderRowId(row: SalesOrderDTO): string;
|
|
5
5
|
export declare function SalesOrdersTable({ orders, loading, onSelectOrder, onDeleteOrder, onEditOrder, onFulfillOrder, fulfillingId, selectedIds, onSelectionChange, }: {
|
|
@@ -5,8 +5,8 @@ import { formatLoadUnits } from "../../lib/load-carrier-labels.js";
|
|
|
5
5
|
import { orderStageBadgeClass, orderStageLabel } from "../../lib/order-status.js";
|
|
6
6
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@flowselections/core";
|
|
7
7
|
import { MoreVertical, AlertTriangle, ArrowDown } from "lucide-react";
|
|
8
|
-
import { PlanCoverageBadge } from "./PlanCoverageBadge";
|
|
9
|
-
import { FloridayStageLine, MissingPriceBadge } from "./FloridayStageLine";
|
|
8
|
+
import { PlanCoverageBadge } from "./PlanCoverageBadge.js";
|
|
9
|
+
import { FloridayStageLine, MissingPriceBadge } from "./FloridayStageLine.js";
|
|
10
10
|
function formatDateShort(iso) {
|
|
11
11
|
if (!iso)
|
|
12
12
|
return { date: "—", time: "" };
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
3
3
|
import { useServerFn } from "@tanstack/react-start";
|
|
4
4
|
import { AlertTriangle, X } from "lucide-react";
|
|
5
|
-
import { listOpenStockConsumptionAlerts, resolveStockConsumptionAlert, } from "../../lib/stock-consumption-alerts.functions";
|
|
5
|
+
import { listOpenStockConsumptionAlerts, resolveStockConsumptionAlert, } from "../../lib/stock-consumption-alerts.functions.js";
|
|
6
6
|
/**
|
|
7
7
|
* Toont voorraadafboekingen die zijn overgeslagen (product niet gekoppeld) of
|
|
8
8
|
* geblokkeerd (statusovergang zonder bewijs van vertrek).
|
|
@@ -5,21 +5,21 @@ import { Download, Plus, AlertTriangle, RefreshCw, ChevronLeft, ChevronRight, Fi
|
|
|
5
5
|
import { useServerFn } from "@tanstack/react-start";
|
|
6
6
|
import { useNavigate } from "@tanstack/react-router";
|
|
7
7
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
8
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
9
|
-
import { getFloridaySyncHealth, runSalesOrdersSync } from "../../lib/salesorders.functions";
|
|
10
|
-
import { cancelLocalOrder, deleteLocalOrder } from "../../lib/create-order.functions";
|
|
11
|
-
import { markOrdersShipped } from "../../lib/order-fulfill.functions";
|
|
12
|
-
import { ordersToCsv, parseOrderRowId, } from "../../lib/salesorders-mapping";
|
|
13
|
-
import { listSalesOrders } from "../../lib/salesorders-list.functions";
|
|
14
|
-
import { derivePeriodWindow, useSalesOrdersQuery } from "../../lib/useSalesOrdersQuery";
|
|
15
|
-
import { useBufferEvents } from "../../lib/useBufferEvents";
|
|
16
|
-
import { AnalyticsCards } from "./AnalyticsCards";
|
|
17
|
-
import { SalesOrdersFilters } from "./SalesOrdersFilters";
|
|
18
|
-
import { SalesOrdersFilterPanel, countActiveFilters, } from "./SalesOrdersFilterPanel";
|
|
19
|
-
import { SalesOrdersTable, salesOrderRowId } from "./SalesOrdersTable";
|
|
20
|
-
import { EditLocalOrderDialog } from "./EditLocalOrderDialog";
|
|
21
|
-
import { StockConsumptionAlertsBanner } from "./StockConsumptionAlertsBanner";
|
|
22
|
-
import { ORDER_STAGES } from "../../lib/order-status";
|
|
8
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
9
|
+
import { getFloridaySyncHealth, runSalesOrdersSync } from "../../lib/salesorders.functions.js";
|
|
10
|
+
import { cancelLocalOrder, deleteLocalOrder } from "../../lib/create-order.functions.js";
|
|
11
|
+
import { markOrdersShipped } from "../../lib/order-fulfill.functions.js";
|
|
12
|
+
import { ordersToCsv, parseOrderRowId, } from "../../lib/salesorders-mapping.js";
|
|
13
|
+
import { listSalesOrders } from "../../lib/salesorders-list.functions.js";
|
|
14
|
+
import { derivePeriodWindow, useSalesOrdersQuery } from "../../lib/useSalesOrdersQuery.js";
|
|
15
|
+
import { useBufferEvents } from "../../lib/useBufferEvents.js";
|
|
16
|
+
import { AnalyticsCards } from "./AnalyticsCards.js";
|
|
17
|
+
import { SalesOrdersFilters } from "./SalesOrdersFilters.js";
|
|
18
|
+
import { SalesOrdersFilterPanel, countActiveFilters, } from "./SalesOrdersFilterPanel.js";
|
|
19
|
+
import { SalesOrdersTable, salesOrderRowId } from "./SalesOrdersTable.js";
|
|
20
|
+
import { EditLocalOrderDialog } from "./EditLocalOrderDialog.js";
|
|
21
|
+
import { StockConsumptionAlertsBanner } from "./StockConsumptionAlertsBanner.js";
|
|
22
|
+
import { ORDER_STAGES } from "../../lib/order-status.js";
|
|
23
23
|
const BACKLOG_TAB = {
|
|
24
24
|
id: "backlog",
|
|
25
25
|
label: "Te picken (achterstand)",
|
package/dist-lib/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { FlowModule } from "@flowselections/core";
|
|
2
|
-
export * from "./_core-safelist";
|
|
3
|
-
export { VerkoopOrdersPage } from "./components/verkoop/VerkoopOrdersPage";
|
|
4
|
-
export { SalesOrderDetailPage } from "./components/verkoop/SalesOrderDetailPage";
|
|
5
|
-
export { CreateOrderPage } from "./components/verkoop/CreateOrderPage";
|
|
6
|
-
export { ProductDimensionsSettingsCard } from "./components/verkoop/ProductDimensionsSettings";
|
|
2
|
+
export * from "./_core-safelist.js";
|
|
3
|
+
export { VerkoopOrdersPage } from "./components/verkoop/VerkoopOrdersPage.js";
|
|
4
|
+
export { SalesOrderDetailPage } from "./components/verkoop/SalesOrderDetailPage.js";
|
|
5
|
+
export { CreateOrderPage } from "./components/verkoop/CreateOrderPage.js";
|
|
7
6
|
export declare const floridayVerkoopModule: FlowModule;
|
|
8
7
|
//# 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":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAIvE,eAAO,MAAM,qBAAqB,EAAE,UAoBnC,CAAC"}
|
package/dist-lib/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ShoppingCart, ListOrdered } from "lucide-react";
|
|
2
|
-
import { ProductDimensionsSettingsCard } from "./components/verkoop/ProductDimensionsSettings";
|
|
3
|
-
export * from "./_core-safelist";
|
|
4
|
-
export { VerkoopOrdersPage } from "./components/verkoop/VerkoopOrdersPage";
|
|
5
|
-
export { SalesOrderDetailPage } from "./components/verkoop/SalesOrderDetailPage";
|
|
6
|
-
export { CreateOrderPage } from "./components/verkoop/CreateOrderPage";
|
|
7
|
-
export { ProductDimensionsSettingsCard } from "./components/verkoop/ProductDimensionsSettings";
|
|
2
|
+
import { ProductDimensionsSettingsCard } from "./components/verkoop/ProductDimensionsSettings.js";
|
|
3
|
+
export * from "./_core-safelist.js";
|
|
4
|
+
export { VerkoopOrdersPage } from "./components/verkoop/VerkoopOrdersPage.js";
|
|
5
|
+
export { SalesOrderDetailPage } from "./components/verkoop/SalesOrderDetailPage.js";
|
|
6
|
+
export { CreateOrderPage } from "./components/verkoop/CreateOrderPage.js";
|
|
8
7
|
export const floridayVerkoopModule = {
|
|
9
8
|
id: "verkoop",
|
|
10
9
|
name: "Orders",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
|
-
import type { Database } from './types';
|
|
2
|
+
import type { Database } from './types.js';
|
|
3
3
|
export interface AuthedSupabaseClient extends SupabaseClient<Database> {
|
|
4
4
|
}
|
|
5
5
|
export declare const requireSupabaseAuth: import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|