@flowselections/floriday-voorraad 1.0.14 → 1.0.16
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/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.js +48 -7
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts +2 -1
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ExcelExportButton.js +24 -5
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts +13 -0
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ProductLinkCard.js +159 -0
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.js +88 -7
- package/dist-lib/hooks/useTradeItemSpec.d.ts.map +1 -1
- package/dist-lib/hooks/useTradeItemSpec.js +4 -1
- package/dist-lib/hooks/useVoorraadData.d.ts +5 -4
- package/dist-lib/hooks/useVoorraadData.d.ts.map +1 -1
- package/dist-lib/hooks/useVoorraadData.js +40 -6
- package/dist-lib/index.d.ts +1 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +1 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +743 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +743 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +743 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +763 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/ensure-article-codes.d.ts +8 -0
- package/dist-lib/lib/ensure-article-codes.d.ts.map +1 -0
- package/dist-lib/lib/ensure-article-codes.js +78 -0
- package/dist-lib/lib/floricode-required-features.functions.d.ts +743 -0
- package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-client.d.ts +6 -0
- package/dist-lib/lib/floriday-client.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.functions.d.ts +2972 -0
- package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-payload.d.ts +19 -5
- package/dist-lib/lib/floriday-payload.d.ts.map +1 -1
- package/dist-lib/lib/floriday-payload.js +106 -33
- package/dist-lib/lib/floriday-warehouse.functions.d.ts +32228 -0
- package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-warehouse.functions.js +98 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts +1616 -130
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.js +34 -6
- package/package.json +7 -1
|
@@ -19,14 +19,37 @@ function applyStock(item, s) {
|
|
|
19
19
|
economicQuantity: available + s.incoming_stock,
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
+
function erpToTradeItem(row) {
|
|
23
|
+
const key = row.trade_item_key ?? `product:${row.id}`;
|
|
24
|
+
return {
|
|
25
|
+
id: `erp:${row.id}`,
|
|
26
|
+
productId: row.id,
|
|
27
|
+
tradeItemKey: key,
|
|
28
|
+
source: "erp",
|
|
29
|
+
name: row.product || "(naamloos product)",
|
|
30
|
+
articleNumber: row.barcode || "",
|
|
31
|
+
imageUrl: row.image_url,
|
|
32
|
+
quantity: 0,
|
|
33
|
+
minQuantity: 0,
|
|
34
|
+
reservedQuantity: 0,
|
|
35
|
+
availableQuantity: 0,
|
|
36
|
+
incomingQuantity: 0,
|
|
37
|
+
economicQuantity: 0,
|
|
38
|
+
raw: row,
|
|
39
|
+
published: false,
|
|
40
|
+
linkStatus: "unlinked",
|
|
41
|
+
};
|
|
42
|
+
}
|
|
22
43
|
/**
|
|
23
|
-
* Reads trade items from
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
44
|
+
* Reads trade items from three sources and merges them into one voorraad list:
|
|
45
|
+
* 1. `products` rows tied to a `product:<id>` key (pure ERP items).
|
|
46
|
+
* 2. `trade_item_drafts` (lokaal concept, mogelijk in publiceerflow).
|
|
47
|
+
* 3. `floriday_trade_items_cache` (gepubliceerd artikel).
|
|
48
|
+
* Voorraadwaarden komen uit `trade_item_stock` en overschrijven cache-defaults.
|
|
27
49
|
*/
|
|
28
50
|
export function useVoorraadData(connectionId) {
|
|
29
51
|
const [publishedItems, setPublishedItems] = useState([]);
|
|
52
|
+
const [erpItems, setErpItems] = useState([]);
|
|
30
53
|
const [stockMap, setStockMap] = useState(new Map());
|
|
31
54
|
const [loading, setLoading] = useState(false);
|
|
32
55
|
const [error, setError] = useState(null);
|
|
@@ -34,33 +57,43 @@ export function useVoorraadData(connectionId) {
|
|
|
34
57
|
const loadPublished = useCallback(async () => {
|
|
35
58
|
if (!connectionId) {
|
|
36
59
|
setPublishedItems([]);
|
|
60
|
+
setErpItems([]);
|
|
37
61
|
setStockMap(new Map());
|
|
38
62
|
return;
|
|
39
63
|
}
|
|
40
64
|
setLoading(true);
|
|
41
65
|
setError(null);
|
|
42
66
|
try {
|
|
43
|
-
const [pubRes, stock] = await Promise.all([
|
|
67
|
+
const [pubRes, erpRes, stock] = await Promise.all([
|
|
44
68
|
supabase
|
|
45
69
|
.from("floriday_trade_items_cache")
|
|
46
70
|
.select("data,floriday_id,is_deleted")
|
|
47
71
|
.eq("connection_id", connectionId)
|
|
48
72
|
.eq("is_deleted", false)
|
|
49
73
|
.limit(1000),
|
|
74
|
+
supabase
|
|
75
|
+
.from("products")
|
|
76
|
+
.select("id,product,barcode,image_url,trade_item_key")
|
|
77
|
+
.like("trade_item_key", "product:%")
|
|
78
|
+
.limit(1000),
|
|
50
79
|
fetchStockMap(connectionId),
|
|
51
80
|
]);
|
|
52
81
|
if (pubRes.error)
|
|
53
82
|
throw pubRes.error;
|
|
83
|
+
if (erpRes.error)
|
|
84
|
+
throw erpRes.error;
|
|
54
85
|
const normalised = (pubRes.data ?? [])
|
|
55
86
|
.map((row) => normaliseTradeItem({ ...row.data, id: row.floriday_id }))
|
|
56
87
|
.filter((i) => i.id)
|
|
57
|
-
.map((i) => ({ ...i, published: true }));
|
|
88
|
+
.map((i) => ({ ...i, published: true, source: "published", tradeItemKey: i.id }));
|
|
58
89
|
setPublishedItems(normalised);
|
|
90
|
+
setErpItems((erpRes.data ?? []).map((r) => erpToTradeItem(r)));
|
|
59
91
|
setStockMap(stock);
|
|
60
92
|
}
|
|
61
93
|
catch (e) {
|
|
62
94
|
setError(e.message);
|
|
63
95
|
setPublishedItems([]);
|
|
96
|
+
setErpItems([]);
|
|
64
97
|
}
|
|
65
98
|
finally {
|
|
66
99
|
setLoading(false);
|
|
@@ -73,6 +106,7 @@ export function useVoorraadData(connectionId) {
|
|
|
73
106
|
await Promise.all([loadPublished(), reloadLocal()]);
|
|
74
107
|
}, [loadPublished, reloadLocal]);
|
|
75
108
|
const merged = [
|
|
109
|
+
...erpItems.map((i) => applyStock(i, stockMap.get(i.tradeItemKey ?? ""))),
|
|
76
110
|
...localItems.map((i) => applyStock(i, stockMap.get(i.localId ? `draft:${i.localId}` : ""))),
|
|
77
111
|
...publishedItems.map((i) => applyStock(i, stockMap.get(i.id))),
|
|
78
112
|
];
|
package/dist-lib/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export { NieuwArtikelPage } from './components/voorraad/NieuwArtikelPage';
|
|
|
5
5
|
export { EditArtikelPage } from './components/voorraad/EditArtikelPage';
|
|
6
6
|
export { ValidationPage } from './components/voorraad/ValidationPage';
|
|
7
7
|
export { ArtikelWizard } from './components/voorraad/ArtikelWizard';
|
|
8
|
+
export { ProductLinkCard } from './components/voorraad/ProductLinkCard';
|
|
8
9
|
export declare const floridayVoorraadModule: FlowModule;
|
|
9
10
|
//# 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":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,eAAO,MAAM,sBAAsB,EAAE,UAUpC,CAAC"}
|
package/dist-lib/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export { NieuwArtikelPage } from './components/voorraad/NieuwArtikelPage';
|
|
|
8
8
|
export { EditArtikelPage } from './components/voorraad/EditArtikelPage';
|
|
9
9
|
export { ValidationPage } from './components/voorraad/ValidationPage';
|
|
10
10
|
export { ArtikelWizard } from './components/voorraad/ArtikelWizard';
|
|
11
|
+
export { ProductLinkCard } from './components/voorraad/ProductLinkCard';
|
|
11
12
|
export const floridayVoorraadModule = {
|
|
12
13
|
id: "voorraad",
|
|
13
14
|
name: "Voorraad",
|