krona-front/dist/assets/useInventory-BwKK4D-W.js

1 line
No EOL
1.4 KiB
JavaScript

import{f as e,h as t}from"./useToast-CS8pZhce.js";import{at as n,tt as r}from"./index-CNnq9VO5.js";var i=t(e(),1);function a(){let[e,t]=(0,i.useState)([]),[a,o]=(0,i.useState)([]),[s,c]=(0,i.useState)([]),[l,u]=(0,i.useState)([]),[d,f]=(0,i.useState)(!0),[p,m]=(0,i.useState)(null),h=(0,i.useCallback)(async()=>{try{f(!0),m(null);let[e,r,i,a]=await Promise.all([n.warehouses.list({pageSize:50}),n.stockItems.list({pageSize:200}),n.movements.list({pageSize:100}),n.receipts.list({pageSize:100})]);t(e.items),o(r.items),c(i.items),u(a.items)}catch(e){m(e instanceof Error?e:Error(String(e)))}finally{f(!1)}},[]);return(0,i.useEffect)(()=>{let e=!0;return Promise.resolve().then(()=>{e&&h()}),()=>{e=!1}},[h]),r(`records:changed`,e=>{(e.entityType===`warehouse`||e.entityType===`stock_item`||e.entityType===`stock_movement`||e.entityType===`goods_receipt`||e.entityType===`stock_reservation`)&&h()}),r(`storage:reset`,h),r(`snapshot:imported`,h),{warehouses:e,stockItems:a,movements:s,receipts:l,loading:d,error:p,refetch:h,adjustStock:(0,i.useCallback)(async(e,t,r,i)=>n.adjustStock(e,t,r,i),[]),reserveStock:(0,i.useCallback)(async(e,t,r,i)=>n.reserveStock(e,t,r,i),[]),cancelOrderReservations:(0,i.useCallback)(async e=>n.cancelOrderReservations(e),[]),receiveGoods:(0,i.useCallback)(async e=>n.receiveGoods(e),[]),createAndReceiveGoods:(0,i.useCallback)(async(e,t,r,i)=>n.createAndReceiveGoods(e,t,r,i),[])}}export{a as t};