@flowselections/floriday-voorraad 1.0.155 → 1.0.157
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/TemplatePage.d.ts +2 -0
- package/dist-lib/components/TemplatePage.d.ts.map +1 -0
- package/dist-lib/components/TemplatePage.js +4 -0
- package/dist-lib/components/fs-ui/DataTable.d.ts +1 -1
- package/dist-lib/components/fs-ui/DataTable.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/EmptyState.d.ts +1 -1
- package/dist-lib/components/fs-ui/EmptyState.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/FilterChips.d.ts +1 -1
- package/dist-lib/components/fs-ui/FilterChips.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/FilterPanel.d.ts +2 -2
- package/dist-lib/components/fs-ui/FilterPanel.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/FiltersButton.d.ts +1 -1
- package/dist-lib/components/fs-ui/FiltersButton.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/HeaderButton.d.ts +2 -2
- package/dist-lib/components/fs-ui/HeaderButton.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/HoverTip.d.ts +1 -1
- package/dist-lib/components/fs-ui/HoverTip.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/InlineAlert.d.ts +1 -1
- package/dist-lib/components/fs-ui/InlineAlert.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/KpiRow.d.ts +1 -1
- package/dist-lib/components/fs-ui/KpiRow.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/KpiTile.d.ts +1 -1
- package/dist-lib/components/fs-ui/KpiTile.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/MobilePrimaryAction.d.ts +1 -1
- package/dist-lib/components/fs-ui/MobilePrimaryAction.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/NoticeBar.d.ts +1 -1
- package/dist-lib/components/fs-ui/NoticeBar.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/PageHeader.d.ts +1 -1
- package/dist-lib/components/fs-ui/PageHeader.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/Pagination.d.ts +1 -1
- package/dist-lib/components/fs-ui/Pagination.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/PillTabs.d.ts +1 -1
- package/dist-lib/components/fs-ui/PillTabs.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/RowMenu.d.ts +1 -1
- package/dist-lib/components/fs-ui/RowMenu.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/SearchInput.d.ts +1 -1
- package/dist-lib/components/fs-ui/SearchInput.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/ShortcutHelp.d.ts +1 -1
- package/dist-lib/components/fs-ui/ShortcutHelp.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/StatusIcon.d.ts +1 -1
- package/dist-lib/components/fs-ui/StatusIcon.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/TableSkeleton.d.ts +1 -1
- package/dist-lib/components/fs-ui/TableSkeleton.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/Toolbar.d.ts +1 -1
- package/dist-lib/components/fs-ui/Toolbar.d.ts.map +1 -1
- package/dist-lib/components/fs-ui/UpdatedAt.d.ts +1 -1
- package/dist-lib/components/fs-ui/UpdatedAt.d.ts.map +1 -1
- package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +2 -0
- package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +1 -0
- package/dist-lib/components/settings/VoorraadSettingsCard.js +39 -0
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +1 -1
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/CollapsibleText.d.ts +1 -1
- package/dist-lib/components/voorraad/CollapsibleText.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ConnectionBadge.d.ts +6 -0
- package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ConnectionBadge.js +12 -0
- package/dist-lib/components/voorraad/ConnectionPicker.d.ts +8 -0
- package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ConnectionPicker.js +8 -0
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts +1 -1
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts +1 -1
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayConnectionNotice.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridayConnectionNotice.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayLoadCarriers.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridayLoadCarriers.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridaySentCard.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridaySentCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts +4 -0
- package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts.map +1 -0
- package/dist-lib/components/voorraad/FloridayStatusBadge.js +8 -0
- package/dist-lib/components/voorraad/FloridayTakeoverPanel.d.ts +2 -2
- package/dist-lib/components/voorraad/FloridayTakeoverPanel.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FustAdministratie.d.ts +2 -2
- package/dist-lib/components/voorraad/FustAdministratie.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FustenPage.d.ts +1 -1
- package/dist-lib/components/voorraad/FustenPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +1 -1
- package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts.map +1 -1
- package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +1 -1
- package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/KoppelingStatusPanel.d.ts +1 -1
- package/dist-lib/components/voorraad/KoppelingStatusPanel.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ModuleHealthCard.d.ts +2 -0
- package/dist-lib/components/voorraad/ModuleHealthCard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ModuleHealthCard.js +40 -0
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +1 -1
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +1 -1
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +1 -1
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductSalePriceField.d.ts +2 -2
- package/dist-lib/components/voorraad/ProductSalePriceField.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductStructureCard.d.ts +2 -2
- package/dist-lib/components/voorraad/ProductStructureCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublicatiesPage.d.ts +1 -1
- package/dist-lib/components/voorraad/PublicatiesPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublishProgressCard.d.ts +1 -1
- package/dist-lib/components/voorraad/PublishProgressCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +1 -1
- package/dist-lib/components/voorraad/PublishReadinessCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/Sneltoetsen.d.ts +2 -2
- package/dist-lib/components/voorraad/Sneltoetsen.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts +1 -1
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockHistoryChart.d.ts +1 -1
- package/dist-lib/components/voorraad/StockHistoryChart.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts +1 -1
- package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockPushMonitor.d.ts +1 -1
- package/dist-lib/components/voorraad/StockPushMonitor.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockSyncStatus.d.ts +1 -1
- package/dist-lib/components/voorraad/StockSyncStatus.d.ts.map +1 -1
- package/dist-lib/components/voorraad/SupplyReadScopeAlert.d.ts +1 -1
- package/dist-lib/components/voorraad/SupplyReadScopeAlert.d.ts.map +1 -1
- package/dist-lib/components/voorraad/TelmomentButton.d.ts +1 -1
- package/dist-lib/components/voorraad/TelmomentButton.d.ts.map +1 -1
- package/dist-lib/components/voorraad/TrayStickerCard.d.ts +1 -1
- package/dist-lib/components/voorraad/TrayStickerCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +1 -1
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationPage.d.ts +1 -1
- package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadBeheerCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadBeheerCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +10 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.js +53 -0
- package/dist-lib/components/voorraad/VoorraadPage.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadSturingCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadSturingCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/artikel/ArtikelPagina.d.ts +1 -1
- package/dist-lib/components/voorraad/artikel/ArtikelPagina.d.ts.map +1 -1
- package/dist-lib/components/voorraad/artikel/TwijfelKiezen.d.ts +1 -1
- package/dist-lib/components/voorraad/artikel/TwijfelKiezen.d.ts.map +1 -1
- package/dist-lib/components/voorraad/lijst/ImporteerKnop.d.ts +1 -1
- package/dist-lib/components/voorraad/lijst/ImporteerKnop.d.ts.map +1 -1
- package/dist-lib/components/voorraad/lijst/LijstExportKnop.d.ts +1 -1
- package/dist-lib/components/voorraad/lijst/LijstExportKnop.d.ts.map +1 -1
- package/dist-lib/components/voorraad/lijst/SnelActieDialogen.d.ts +2 -2
- package/dist-lib/components/voorraad/lijst/SnelActieDialogen.d.ts.map +1 -1
- package/dist-lib/components/voorraad/lijst/VoorraadLijstTabel.d.ts +2 -2
- package/dist-lib/components/voorraad/lijst/VoorraadLijstTabel.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.js +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/lib/__tests__/floricode-required-features.test.js +3 -7
- package/dist-lib/lib/floriday-field-sources.d.ts +18 -0
- package/dist-lib/lib/floriday-field-sources.d.ts.map +1 -0
- package/dist-lib/lib/floriday-field-sources.js +45 -0
- package/dist-lib/lib/floriday-schema-to-zod.d.ts +9 -0
- package/dist-lib/lib/floriday-schema-to-zod.d.ts.map +1 -0
- package/dist-lib/lib/floriday-schema-to-zod.js +53 -0
- package/dist-lib/lib/merge-products.d.ts +8 -0
- package/dist-lib/lib/merge-products.d.ts.map +1 -0
- package/dist-lib/lib/merge-products.js +17 -0
- package/dist-lib/lib/module-health.functions.d.ts +53497 -0
- package/dist-lib/lib/module-health.functions.d.ts.map +1 -0
- package/dist-lib/lib/module-health.functions.js +261 -0
- package/dist-lib/lib/validationSchemas.d.ts +15 -0
- package/dist-lib/lib/validationSchemas.d.ts.map +1 -0
- package/dist-lib/lib/validationSchemas.js +25 -0
- package/dist-lib/server-hooks/floriday-stock-reconcile.d.ts.map +1 -1
- package/dist-lib/server-hooks/floriday-stock-reconcile.js +14 -1
- package/package.json +2 -2
- package/sql/floriday-voorraad-schema.sql +13 -27
- package/dist-lib/components/voorraad/__tests__/count-stock-free.test.d.ts +0 -2
- package/dist-lib/components/voorraad/__tests__/count-stock-free.test.d.ts.map +0 -1
- package/dist-lib/components/voorraad/__tests__/count-stock-free.test.js +0 -12
- package/dist-lib/lib/__tests__/article-code.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/article-code.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/article-code.test.js +0 -11
- package/dist-lib/lib/__tests__/erp-test-123.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/erp-test-123.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/erp-test-123.test.js +0 -43
- package/dist-lib/lib/__tests__/floriday-customer-offers.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/floriday-customer-offers.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/floriday-customer-offers.test.js +0 -36
- package/dist-lib/lib/__tests__/floriday-fetch-status.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/floriday-fetch-status.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/floriday-fetch-status.test.js +0 -25
- package/dist-lib/lib/__tests__/floriday-write-mode.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/floriday-write-mode.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/floriday-write-mode.test.js +0 -40
- package/dist-lib/lib/__tests__/fust-dimensions.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/fust-dimensions.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/fust-dimensions.test.js +0 -27
- package/dist-lib/lib/__tests__/load-carriers.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/load-carriers.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/load-carriers.test.js +0 -15
- package/dist-lib/lib/__tests__/mirror-products.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/mirror-products.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/mirror-products.test.js +0 -13
- package/dist-lib/lib/__tests__/product-packings.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/product-packings.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/product-packings.test.js +0 -42
- package/dist-lib/lib/__tests__/publish-114.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/publish-114.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/publish-114.test.js +0 -31
- package/dist-lib/lib/__tests__/publish-packing-block.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/publish-packing-block.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/publish-packing-block.test.js +0 -14
- package/dist-lib/lib/__tests__/release-130.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/release-130.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/release-130.test.js +0 -103
- package/dist-lib/lib/__tests__/release-134.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/release-134.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/release-134.test.js +0 -50
- package/dist-lib/lib/__tests__/release-136.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/release-136.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/release-136.test.js +0 -36
- package/dist-lib/lib/__tests__/release-140.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/release-140.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/release-140.test.js +0 -42
- package/dist-lib/lib/__tests__/request-guard.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/request-guard.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/request-guard.test.js +0 -50
- package/dist-lib/lib/__tests__/stock-save.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/stock-save.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/stock-save.test.js +0 -35
- package/dist-lib/lib/__tests__/stock-scope.test.d.ts +0 -2
- package/dist-lib/lib/__tests__/stock-scope.test.d.ts.map +0 -1
- package/dist-lib/lib/__tests__/stock-scope.test.js +0 -44
- package/dist-lib/server-hooks/__tests__/trade-item-photo.test.d.ts +0 -2
- package/dist-lib/server-hooks/__tests__/trade-item-photo.test.d.ts.map +0 -1
- package/dist-lib/server-hooks/__tests__/trade-item-photo.test.js +0 -19
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Link } from "@tanstack/react-router";
|
|
3
|
+
import { Card } from "@flowselections/core";
|
|
4
|
+
import { validateDraftForPublish } from "../../lib/floriday-import-validator.js";
|
|
5
|
+
function Stat({ label, value, tone = "default", }) {
|
|
6
|
+
const toneCls = tone === "danger"
|
|
7
|
+
? "text-destructive"
|
|
8
|
+
: tone === "warn"
|
|
9
|
+
? "text-amber-600"
|
|
10
|
+
: tone === "good"
|
|
11
|
+
? "text-emerald-600"
|
|
12
|
+
: "text-foreground";
|
|
13
|
+
return (_jsxs("div", { children: [_jsx("div", { className: "text-xs text-muted-foreground", children: label }), _jsx("div", { className: `text-2xl font-semibold tabular-nums ${toneCls}`, children: value })] }));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Producten zijn altijd volwaardig. De dashboard-statistieken tonen alleen of ze op
|
|
17
|
+
* Floriday actief zijn — geen concept-status meer.
|
|
18
|
+
*/
|
|
19
|
+
export function VoorraadDashboard({ items, connectionId, }) {
|
|
20
|
+
const total = items.length;
|
|
21
|
+
const active = items.filter((i) => i.floridayActive).length;
|
|
22
|
+
const inactive = total - active;
|
|
23
|
+
const missingFields = items.filter((i) => {
|
|
24
|
+
if (i.floridayActive)
|
|
25
|
+
return false;
|
|
26
|
+
const payload = i.raw?.custom_fields?.floriday_payload ??
|
|
27
|
+
i.raw?.floriday_payload ??
|
|
28
|
+
i.raw?.data ??
|
|
29
|
+
{};
|
|
30
|
+
return !validateDraftForPublish(payload).ok;
|
|
31
|
+
}).length;
|
|
32
|
+
// Nieuw sinds laatste import
|
|
33
|
+
let lastImport = null;
|
|
34
|
+
try {
|
|
35
|
+
if (connectionId) {
|
|
36
|
+
const s = localStorage.getItem(`voorraad_last_import_${connectionId}`);
|
|
37
|
+
if (s)
|
|
38
|
+
lastImport = new Date(s);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
/* ignore */
|
|
43
|
+
}
|
|
44
|
+
const newSinceImport = lastImport
|
|
45
|
+
? items.filter((i) => {
|
|
46
|
+
const raw = i.raw;
|
|
47
|
+
const src = raw?.source ?? raw?.data?.source;
|
|
48
|
+
const created = raw?.created_at ? new Date(raw.created_at) : null;
|
|
49
|
+
return src === "excel_import" && created && created >= lastImport;
|
|
50
|
+
}).length
|
|
51
|
+
: 0;
|
|
52
|
+
return (_jsxs(Card, { className: "p-4", children: [_jsxs("div", { className: "flex items-start justify-between gap-3 mb-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium", children: "Voorraad-overzicht" }), _jsx("div", { className: "text-xs text-muted-foreground", children: "Alle producten zijn volwaardig; alleen de Floriday-activatie verschilt." })] }), _jsx(Link, { to: "/voorraad/validatie", className: "text-xs text-primary hover:underline", children: "Producten zonder Floriday-activatie \u2192" })] }), _jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4", children: [_jsx(Stat, { label: "Producten", value: total }), _jsx(Stat, { label: "Actief op Floriday", value: active, tone: "good" }), _jsx(Stat, { label: "Niet actief op Floriday", value: inactive }), _jsx(Stat, { label: "Ontbrekende Floriday-velden", value: missingFields, tone: "warn" }), _jsx(Stat, { label: "Nieuw sinds import", value: newSinceImport })] })] }));
|
|
53
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPage.tsx"],"names":[],"mappings":"AA2EA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsDnD,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"VoorraadPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPage.tsx"],"names":[],"mappings":"AA2EA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsDnD,wBAAgB,YAAY,4CA+M3B"}
|
|
@@ -6,5 +6,5 @@ export interface VoorraadPaginationProps {
|
|
|
6
6
|
onPageChange: (page: number) => void;
|
|
7
7
|
onPageSizeChange: (size: number) => void;
|
|
8
8
|
}
|
|
9
|
-
export declare function VoorraadPagination({ total, page, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, }: VoorraadPaginationProps): import("react").JSX.Element;
|
|
9
|
+
export declare function VoorraadPagination({ total, page, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, }: VoorraadPaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
//# sourceMappingURL=VoorraadPagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadPagination.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPagination.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,eAAmC,EACnC,YAAY,EACZ,gBAAgB,GACjB,EAAE,uBAAuB
|
|
1
|
+
{"version":3,"file":"VoorraadPagination.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPagination.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,eAAmC,EACnC,YAAY,EACZ,gBAAgB,GACjB,EAAE,uBAAuB,2CAuDzB"}
|
|
@@ -4,6 +4,6 @@ interface Props {
|
|
|
4
4
|
draftId?: string | null;
|
|
5
5
|
productId?: string | null;
|
|
6
6
|
}
|
|
7
|
-
export declare function VoorraadStockCard({ connectionId, tradeItemId, draftId, productId }: Props): import("react").JSX.Element | null;
|
|
7
|
+
export declare function VoorraadStockCard({ connectionId, tradeItemId, draftId, productId }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=VoorraadStockCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadStockCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadStockCard.tsx"],"names":[],"mappings":"AA4BA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"VoorraadStockCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadStockCard.tsx"],"names":[],"mappings":"AA4BA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,kDA+RzF"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Shellinstelling: welke voorraadsturing krijgen artikelen die automatisch uit
|
|
3
3
|
* Floriday worden aangemaakt. Bestaande artikelen veranderen niet.
|
|
4
4
|
*/
|
|
5
|
-
export declare function VoorraadSturingCard(): import("react").JSX.Element;
|
|
5
|
+
export declare function VoorraadSturingCard(): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=VoorraadSturingCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadSturingCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadSturingCard.tsx"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"VoorraadSturingCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadSturingCard.tsx"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,mBAAmB,4CAgElC"}
|
|
@@ -10,5 +10,5 @@ export declare function VoorraadTable({ items, loading, settingsByKey, selected,
|
|
|
10
10
|
onToggleSelect?: (productId: string) => void;
|
|
11
11
|
onToggleAll?: (productIds: string[]) => void;
|
|
12
12
|
onOpenSettings?: (productId: string) => void;
|
|
13
|
-
}): import("react").JSX.Element;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
14
|
//# sourceMappingURL=VoorraadTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadTable.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadTable.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAgFzE,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,GACf,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C
|
|
1
|
+
{"version":3,"file":"VoorraadTable.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadTable.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAgFzE,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,GACf,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,2CAoUA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function VoorraadVeldenCard(): import("react").JSX.Element;
|
|
1
|
+
export declare function VoorraadVeldenCard(): import("react/jsx-runtime").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=VoorraadVeldenCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadVeldenCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadVeldenCard.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"VoorraadVeldenCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadVeldenCard.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,kBAAkB,4CAqOjC"}
|
|
@@ -2,5 +2,5 @@ export declare function ArtikelPagina({ id, resumeJobId, onNietGevonden }: {
|
|
|
2
2
|
id: string;
|
|
3
3
|
resumeJobId?: string;
|
|
4
4
|
onNietGevonden?: () => void;
|
|
5
|
-
}): import("react").JSX.Element;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=ArtikelPagina.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtikelPagina.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/ArtikelPagina.tsx"],"names":[],"mappings":"AAmGA,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"ArtikelPagina.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/ArtikelPagina.tsx"],"names":[],"mappings":"AAmGA,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,2CA6enI"}
|
|
@@ -3,5 +3,5 @@ export declare function TwijfelKiezen({ productId, floridayId, onGekozen }: {
|
|
|
3
3
|
productId?: string;
|
|
4
4
|
floridayId?: string;
|
|
5
5
|
onGekozen?: () => void;
|
|
6
|
-
}): import("react").JSX.Element | null;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
7
7
|
//# sourceMappingURL=TwijfelKiezen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwijfelKiezen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/TwijfelKiezen.tsx"],"names":[],"mappings":"AASA,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"TwijfelKiezen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/TwijfelKiezen.tsx"],"names":[],"mappings":"AASA,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,kDAiEtI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImporteerKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/ImporteerKnop.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"ImporteerKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/ImporteerKnop.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,2CAkBlH"}
|
|
@@ -2,5 +2,5 @@ import { type LijstVraag } from "../../../hooks/useVoorraadLijst.js";
|
|
|
2
2
|
/** Excel-export van het huidige filter en de zoekopdracht, in porties van de server (geen limiet). */
|
|
3
3
|
export declare function LijstExportKnop({ vraag }: {
|
|
4
4
|
vraag: Omit<LijstVraag, "pagina" | "grootte">;
|
|
5
|
-
}): import("react").JSX.Element;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=LijstExportKnop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LijstExportKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/LijstExportKnop.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGrF,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"LijstExportKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/LijstExportKnop.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGrF,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;CAAE,2CAsC3F"}
|
|
@@ -6,11 +6,11 @@ export declare function AanpassenDialog({ rij, onClose, onDone }: {
|
|
|
6
6
|
rij: LijstRij | null;
|
|
7
7
|
onClose: () => void;
|
|
8
8
|
onDone: () => void;
|
|
9
|
-
}): import("react").JSX.Element | null;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
10
10
|
export declare function AfboekenDialog({ rij, connectionId, onClose, onDone, }: {
|
|
11
11
|
rij: LijstRij | null;
|
|
12
12
|
connectionId: string | null;
|
|
13
13
|
onClose: () => void;
|
|
14
14
|
onDone: () => void;
|
|
15
|
-
}): import("react").JSX.Element | null;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
16
16
|
//# sourceMappingURL=SnelActieDialogen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnelActieDialogen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/SnelActieDialogen.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEpE,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"SnelActieDialogen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/SnelActieDialogen.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEpE,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,kDAyD1H;AAED,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,YAAY,EACZ,OAAO,EACP,MAAM,GACP,EAAE;IACD,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,kDAwEA"}
|
|
@@ -7,7 +7,7 @@ export declare const OPTIONELE_KOLOMMEN: Array<{
|
|
|
7
7
|
}>;
|
|
8
8
|
export declare function ArtikelStatusIcoon({ status }: {
|
|
9
9
|
status: LijstStatus;
|
|
10
|
-
}): import("react").JSX.Element;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare function VoorraadLijstTabel({ rijen, loading, sort, oplopend, onSort, kolommen, selected, onToggleSelect, onToggleAll, onAanpassen, onAfboeken, heeftKoppeling, leeg, }: {
|
|
12
12
|
heeftKoppeling?: boolean;
|
|
13
13
|
rijen: LijstRij[];
|
|
@@ -23,5 +23,5 @@ export declare function VoorraadLijstTabel({ rijen, loading, sort, oplopend, onS
|
|
|
23
23
|
onAfboeken: (r: LijstRij) => void;
|
|
24
24
|
/** Lege staat (verschilt per filter/zoekopdracht). */
|
|
25
25
|
leeg?: ReactNode;
|
|
26
|
-
}): import("react").JSX.Element;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
//# sourceMappingURL=VoorraadLijstTabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoorraadLijstTabel.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/VoorraadLijstTabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAOrD,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAChF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK5E,CAAC;AAmBF,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"VoorraadLijstTabel.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/VoorraadLijstTabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAOrD,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAChF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK5E,CAAC;AAmBF,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,2CAGrE;AAmBD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAsB,EACtB,IAAI,GACL,EAAE;IACD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,2CA6FA"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
// aanmelden, rollen en alle modulevragen altijd dezelfde actieve sessie.
|
|
3
3
|
import { supabase as sharedSupabase } from '@flowselections/core';
|
|
4
4
|
// Import the supabase client like this:
|
|
5
|
-
// import { supabase } from "
|
|
5
|
+
// import { supabase } from "../../integrations/supabase/client.js";
|
|
6
6
|
export const supabase = sharedSupabase;
|
|
@@ -20,7 +20,7 @@ function createSupabaseAdminClient() {
|
|
|
20
20
|
let _supabaseAdmin;
|
|
21
21
|
// Server-side Supabase client with service role - bypasses RLS
|
|
22
22
|
// SECURITY: Only use this for trusted server-side operations, never expose to client code
|
|
23
|
-
// Import like: import { supabaseAdmin } from "
|
|
23
|
+
// Import like: import { supabaseAdmin } from "../../integrations/supabase/client.server.js";
|
|
24
24
|
export const supabaseAdmin = new Proxy({}, {
|
|
25
25
|
get(_, prop, receiver) {
|
|
26
26
|
if (!_supabaseAdmin)
|
|
@@ -155,8 +155,7 @@ describe("computeVbnRequiredFeatures — VBN 100023", () => {
|
|
|
155
155
|
});
|
|
156
156
|
it("sorteert verplicht vóór advies", async () => {
|
|
157
157
|
const res = await computeVbnRequiredFeatures(client, "100023");
|
|
158
|
-
|
|
159
|
-
expect(res.features.map((f) => f.code)).toEqual(["S01", "S02", "S62", "S98", "S05"]);
|
|
158
|
+
expect(res.features.map((f) => f.code)).toEqual(["S01", "S02", "S05"]);
|
|
160
159
|
});
|
|
161
160
|
it("levert toegestane waarden per feature (gededupliceerd, zonder vervallen)", async () => {
|
|
162
161
|
const res = await computeVbnRequiredFeatures(client, "100023");
|
|
@@ -164,10 +163,9 @@ describe("computeVbnRequiredFeatures — VBN 100023", () => {
|
|
|
164
163
|
expect(s01?.values.map((v) => v.code).sort()).toEqual(["003", "004"]);
|
|
165
164
|
expect(s01?.values.some((v) => v.code === "999")).toBe(false);
|
|
166
165
|
});
|
|
167
|
-
it("geeft
|
|
166
|
+
it("geeft lege lijst terug voor onbekende VBN-code", async () => {
|
|
168
167
|
const res = await computeVbnRequiredFeatures(client, "99999");
|
|
169
|
-
expect(res
|
|
170
|
-
expect(res.features.map((f) => f.code)).toEqual(["S62", "S98"]);
|
|
168
|
+
expect(res).toEqual({ vbnCode: "99999", features: [] });
|
|
171
169
|
});
|
|
172
170
|
it("vindt regulatory rows via record_id-prefix als data.product_id ontbreekt", async () => {
|
|
173
171
|
const prefixOnlyClient = makeFakeClient({
|
|
@@ -182,8 +180,6 @@ describe("computeVbnRequiredFeatures — VBN 100023", () => {
|
|
|
182
180
|
expect(res.features.map((f) => [f.code, f.regulation])).toEqual([
|
|
183
181
|
["S01", "required"],
|
|
184
182
|
["S02", "required"],
|
|
185
|
-
["S62", "required"],
|
|
186
|
-
["S98", "required"],
|
|
187
183
|
["S05", "advised"],
|
|
188
184
|
]);
|
|
189
185
|
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mapping van Floriday-veldnamen naar hun waarde-bron.
|
|
3
|
+
*
|
|
4
|
+
* - CODE_LIST_BY_FIELD: veld met vaste enum-waardes uit /gateway/code-list.
|
|
5
|
+
* - REF_ENTITY_BY_FIELD: veld dat verwijst naar een rij in een stamdata-cache,
|
|
6
|
+
* te lezen via /gateway/cached-list. Waarden zijn kebab-case Floriday-
|
|
7
|
+
* resources (GatewayEntity) — NIET de Supabase-tabelnaam.
|
|
8
|
+
* - REF_TABLE_BY_FIELD: identieke mapping naar de Supabase-cache-tabelnaam,
|
|
9
|
+
* uitsluitend voor directe `supabase.from(...)` reads in deze module.
|
|
10
|
+
*/
|
|
11
|
+
import { type GatewayEntity } from "./floriday-gateway-entities.js";
|
|
12
|
+
export declare const CODE_LIST_BY_FIELD: Record<string, string>;
|
|
13
|
+
export declare const REF_ENTITY_BY_FIELD: Record<string, GatewayEntity>;
|
|
14
|
+
export declare const REF_TABLE_BY_FIELD: Record<string, string>;
|
|
15
|
+
export declare function codeListFor(field: string): string | undefined;
|
|
16
|
+
export declare function refEntityFor(field: string): GatewayEntity | undefined;
|
|
17
|
+
export declare function refTableFor(field: string): string | undefined;
|
|
18
|
+
//# sourceMappingURL=floriday-field-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floriday-field-sources.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-field-sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEnF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAM7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMrD,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAErE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mapping van Floriday-veldnamen naar hun waarde-bron.
|
|
3
|
+
*
|
|
4
|
+
* - CODE_LIST_BY_FIELD: veld met vaste enum-waardes uit /gateway/code-list.
|
|
5
|
+
* - REF_ENTITY_BY_FIELD: veld dat verwijst naar een rij in een stamdata-cache,
|
|
6
|
+
* te lezen via /gateway/cached-list. Waarden zijn kebab-case Floriday-
|
|
7
|
+
* resources (GatewayEntity) — NIET de Supabase-tabelnaam.
|
|
8
|
+
* - REF_TABLE_BY_FIELD: identieke mapping naar de Supabase-cache-tabelnaam,
|
|
9
|
+
* uitsluitend voor directe `supabase.from(...)` reads in deze module.
|
|
10
|
+
*/
|
|
11
|
+
import { GATEWAY_ENTITIES } from "./floriday-gateway-entities.js";
|
|
12
|
+
export const CODE_LIST_BY_FIELD = {
|
|
13
|
+
currency: "Currency",
|
|
14
|
+
salesUnit: "SalesUnit",
|
|
15
|
+
auctionLocation: "AuctionLocation",
|
|
16
|
+
supplyType: "SupplyType",
|
|
17
|
+
loadCarrierType: "SupplyLoadCarrierType",
|
|
18
|
+
packingType: "PackingType",
|
|
19
|
+
qualityMark: "QualityMark",
|
|
20
|
+
country: "Country",
|
|
21
|
+
countryOfOrigin: "Country",
|
|
22
|
+
};
|
|
23
|
+
export const REF_ENTITY_BY_FIELD = {
|
|
24
|
+
packingId: GATEWAY_ENTITIES.packings,
|
|
25
|
+
warehouseId: GATEWAY_ENTITIES.warehouses,
|
|
26
|
+
deliveryLocationId: GATEWAY_ENTITIES.deliveryLocations,
|
|
27
|
+
priceGroupId: GATEWAY_ENTITIES.priceGroups,
|
|
28
|
+
collectionId: GATEWAY_ENTITIES.collections,
|
|
29
|
+
};
|
|
30
|
+
export const REF_TABLE_BY_FIELD = {
|
|
31
|
+
packingId: "floriday_packings_cache",
|
|
32
|
+
warehouseId: "floriday_warehouses_cache",
|
|
33
|
+
deliveryLocationId: "floriday_delivery_locations_cache",
|
|
34
|
+
priceGroupId: "floriday_price_groups_cache",
|
|
35
|
+
collectionId: "floriday_collections_cache",
|
|
36
|
+
};
|
|
37
|
+
export function codeListFor(field) {
|
|
38
|
+
return CODE_LIST_BY_FIELD[field];
|
|
39
|
+
}
|
|
40
|
+
export function refEntityFor(field) {
|
|
41
|
+
return REF_ENTITY_BY_FIELD[field];
|
|
42
|
+
}
|
|
43
|
+
export function refTableFor(field) {
|
|
44
|
+
return REF_TABLE_BY_FIELD[field];
|
|
45
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bouwt een Zod-schema op basis van de fields[]-projectie van /gateway/schema.
|
|
3
|
+
* Wordt gebruikt voor snelle client-side UX-feedback. De gateway valideert
|
|
4
|
+
* altijd nogmaals server-side (validateEnums + Floriday zelf).
|
|
5
|
+
*/
|
|
6
|
+
import { z, type ZodTypeAny } from "zod";
|
|
7
|
+
import type { FloridaySchemaField } from "../hooks/useFloriday.js";
|
|
8
|
+
export declare function buildZodFromFields(fields: FloridaySchemaField[]): z.ZodObject<Record<string, ZodTypeAny>>;
|
|
9
|
+
//# sourceMappingURL=floriday-schema-to-zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floriday-schema-to-zod.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-schema-to-zod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAmChE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,EAAE,GAC5B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAIzC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bouwt een Zod-schema op basis van de fields[]-projectie van /gateway/schema.
|
|
3
|
+
* Wordt gebruikt voor snelle client-side UX-feedback. De gateway valideert
|
|
4
|
+
* altijd nogmaals server-side (validateEnums + Floriday zelf).
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
function fieldToZod(f) {
|
|
8
|
+
let schema;
|
|
9
|
+
if (f.enum && f.enum.length > 0) {
|
|
10
|
+
schema = z.enum(f.enum);
|
|
11
|
+
}
|
|
12
|
+
else if (f.type === "number" || f.type === "integer") {
|
|
13
|
+
let n = z.number();
|
|
14
|
+
if (typeof f.minimum === "number")
|
|
15
|
+
n = n.min(f.minimum);
|
|
16
|
+
if (typeof f.maximum === "number")
|
|
17
|
+
n = n.max(f.maximum);
|
|
18
|
+
if (f.type === "integer")
|
|
19
|
+
n = n.int();
|
|
20
|
+
schema = n;
|
|
21
|
+
}
|
|
22
|
+
else if (f.type === "boolean") {
|
|
23
|
+
schema = z.boolean();
|
|
24
|
+
}
|
|
25
|
+
else if (f.type === "array") {
|
|
26
|
+
schema = z.array(z.any());
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
let s = z.string();
|
|
30
|
+
if (typeof f.minLength === "number")
|
|
31
|
+
s = s.min(f.minLength);
|
|
32
|
+
if (typeof f.maxLength === "number")
|
|
33
|
+
s = s.max(f.maxLength);
|
|
34
|
+
if (f.pattern) {
|
|
35
|
+
try {
|
|
36
|
+
s = s.regex(new RegExp(f.pattern));
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// ongeldige pattern uit schema → negeren
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
schema = s;
|
|
43
|
+
}
|
|
44
|
+
if (!f.required)
|
|
45
|
+
schema = schema.optional().nullable();
|
|
46
|
+
return schema;
|
|
47
|
+
}
|
|
48
|
+
export function buildZodFromFields(fields) {
|
|
49
|
+
const shape = {};
|
|
50
|
+
for (const f of fields)
|
|
51
|
+
shape[f.name] = fieldToZod(f);
|
|
52
|
+
return z.object(shape);
|
|
53
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voegt twee producten samen: alle voorraad, samenstellingen en orderregels
|
|
3
|
+
* van `loserProductId` verhuizen naar `canonicalProductId`. Daarna wordt de
|
|
4
|
+
* loser-rij verwijderd. Roept de `merge_products`-SQL-functie aan; audit-log
|
|
5
|
+
* wordt automatisch bijgehouden in `product_merge_log`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function mergeProducts(canonicalProductId: string, loserProductId: string): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=merge-products.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-products.d.ts","sourceRoot":"","sources":["../../src/lib/merge-products.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { supabase } from "../integrations/supabase/client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Voegt twee producten samen: alle voorraad, samenstellingen en orderregels
|
|
4
|
+
* van `loserProductId` verhuizen naar `canonicalProductId`. Daarna wordt de
|
|
5
|
+
* loser-rij verwijderd. Roept de `merge_products`-SQL-functie aan; audit-log
|
|
6
|
+
* wordt automatisch bijgehouden in `product_merge_log`.
|
|
7
|
+
*/
|
|
8
|
+
export async function mergeProducts(canonicalProductId, loserProductId) {
|
|
9
|
+
if (canonicalProductId === loserProductId)
|
|
10
|
+
return;
|
|
11
|
+
const { error } = await supabase.rpc("merge_products", {
|
|
12
|
+
_canonical: canonicalProductId,
|
|
13
|
+
_loser: loserProductId,
|
|
14
|
+
});
|
|
15
|
+
if (error)
|
|
16
|
+
throw new Error(error.message);
|
|
17
|
+
}
|