1import{j as h}from"./vendor-charts.BWt6D-p3.js";import{k as Tt,x as Ct,q as o,R as Dt}from"./vendor-react.Dvte-uYM.js";import{F as kt}from"./Filters.CaSCkuOb.js";import{a as It}from"./CustomTable.uoI8KCTV.js";import{eH as Ot,a7 as k,eM as At,dp as Et,dc as Ut,d5 as Bt,e0 as l,b5 as C,dI as K,df as V,eb as $,aB as Mt,c0 as _t}from"./index.ByyTxlDy.js";import{V as jt}from"./tableColumns.BHZKzLii.js";import{B as xt,a as G,F as I}from"./buttons.B0fqKVsF.js";import"./vendor-analytics.hLyUNzzL.js";import{c as m}from"./CatalogService.1jiZ2Ejy.js";import{P as Lt}from"./Page.DJozl-jk.js";import{u as Rt}from"./useIsMounted.Dl7g33lT.js";import{C as Ft}from"./Confirmation.DpxD0ISM.js";import{r as Nt,L as W,s as Qt}from"./listViewState.BQyQBdcq.js";import"./DeleteRounded.CsFUQ6Py.js";import"./FormField.CQvoPWNb.js";import"./Check.DU7F91d6.js";import"./vendor-mui.CnDMnKlS.js";import"./ActionButtons.doWqM04h.js";import"./LoadingButton.DfviUVkv.js";import"./CancelRounded.DnqwC_Rn.js";import"./EditRounded.BYR0MuRn.js";import"./MapRounded.xrSWRFHT.js";import"./LocalOfferRounded.DX1E_li1.js";import"./LocationOnRounded.B9BUggKW.js";import"./CustomDateRangePicker.B84_mqOm.js";import"./vendor-date.-CBQOMMT.js";import"./Refresh.tM0ZqVbU.js";import"./ProductImage.COHUu4-9.js";import"./ImageComp.BJAvmJiz.js";import"./Image.BYBUSz35.js";import"./BusinessRounded.Cx5FWNoo.js";import"./CustomMenu.BF_2bVLQ.js";import"./ThreeDotMenu.Q6DHs6aB.js";import"./MoreVertRounded.Dx26hd_P.js";import"./OpenInNewRounded.DMXCi_qM.js";const qt=s=>{const f=Ct(),Y=Rt(),[X,J]=o.useState(!0),[O,A]=o.useState([]),[y,E]=o.useState(""),[n,U]=o.useState(k[0]),[P]=o.useState(At),[d,v]=o.useState(1),[B,z]=o.useState(0),[Z,w]=o.useState(0),[g,M]=o.useState(""),[tt,D]=Dt.useState(!1),[S,at]=o.useState([]),et=async()=>{await s.updateNavigationInfo({props:{formType:Mt.ADD_PRODUCT,buttonGroup:G.CREATE_PRODUCT}}),f.push({pathname:C.ADD_NEW_PRODUCT})},st=async t=>{const a=O.find(e=>e.id===t);a&&(Qt(W.PRODUCTS,{page:d,filterKey:n==null?void 0:n.key,sort:y,query:g}),await s.updateNavigationInfo({props:{crumbs:[{id:a.id,name:a.name}],id:a.id,name:a.name}}),f.push({pathname:C.VIEW_PRODUCT.replace(":productId",a.id),state:{productImage:a==null?void 0:a.thumbnailUrl}}))},it=async t=>{await r(n,t)},ot=async t=>{await r(t,void 0,1)},u=t=>{s.hideProgressBar(),s.handleAPIError({props:t})},r=async(t=void 0,a=void 0,e=void 0,b=void 0,L=void 0)=>{s.showProgressBar();const T=Ut(t||n);try{const c=await m.getProducts({queryData:Bt({page:e??d,limit:b??P,sort:a??y,query:L??g,...T})});Y.current&&(l(c)?nt(c,t,a,e,b):u(c))}catch(c){u(c)}finally{s.hideProgressBar()}},nt=(t,a,e,b,L)=>{var T,c;if(a&&U(a),e&&E(e),b&&v(b),z((T=t==null?void 0:t.metadata)==null?void 0:T.pageTotal),w((c=t==null?void 0:t.metadata)==null?void 0:c.count),K(t==null?void 0:t.data)){const R=[];Array.prototype.forEach.call(t==null?void 0:t.data,i=>{var Q,q,H;const F=(i==null?void 0:i.variant)||0;let N="Stock not tracked";i.hasOwnProperty("inventory")&&(N=F>1?`${i.inventory} in stock for ${F} variants`:`${i.inventory} in stock`),R.push({id:i.id,name:i.name,thumbnailUrl:(Q=i==null?void 0:i.image)==null?void 0:Q.thumbnailUrl,category:i.category?(q=i.category)==null?void 0:q.join(", "):void 0,subcategory:i.subcategory?(H=i.subcategory)==null?void 0:H.join(", "):void 0,batchTracked:i.batchTracked?"Yes":"No",brand:i.brand,inventory:N,dateCreated:i.dateCreated?V(i.dateCreated):"",lastUpdated:i.lastUpdated?V(i.lastUpdated):"",active:i.active,status:i.active?"Active":"Disabled"})}),A(R)}else A([])},rt=async t=>{},ct=async()=>{const t=Math.min(d+1,B);v(t),await r(n,y,t,P)},ut=async()=>{const t=Math.max(d-1,1);v(t),await r(n,y,t,P)},dt=async t=>{var e;const a=g;M(t),((a==null?void 0:a.trim().length)>0||((e=t==null?void 0:t.trim())==null?void 0:e.length)>=0)&&await r(n,y,d,P,t)};o.useEffect(()=>{s.searchQuery!==g&&dt(s.searchQuery)},[s.searchQuery,g]);const p=async t=>{await r(),bt(t,_t.SUCCESS)},lt=async t=>{const a=t==null?void 0:t.map(e=>e.id);await m.activateProducts(a).then(async e=>{l(e)?await p("sm0069"):u(e)})},mt=async t=>{const a=t==null?void 0:t.map(e=>e.id);await m.deactivateProducts(a).then(async e=>{l(e)?await p("sm0070"):u(e)})},yt=async t=>{const a=t==null?void 0:t.map(e=>e.id);await m.publishProducts(a).then(async e=>{l(e)?await p("sm0071"):u(e)})},Pt=async t=>{const a=t==null?void 0:t.map(e=>e.id);await m.unpublishProducts(a).then(async e=>{l(e)?await p("sm0072"):u(e)})},gt=async()=>
1{if(D(!1),K(S)){s==null||s.showProgressBar();const t=S==null?void 0:S.map(a=>a.id);await m.deleteProducts(t).then(async a=>{l(a)?await p("sm0254"):u(a)}),s==null||s.hideProgressBar()}},pt=()=>{D(!1)},_={activate:t=>lt(t),deactivate:t=>mt(t),publish:t=>yt(t),unpublish:t=>Pt(t),deleteProducts:t=>{at(t),D(!0)}},bt=(t,a)=>{s.openSnackbar({props:{code:t,type:a}})};async function ht(t,a){_[t]&&await _[t](a)}const ft=()=>{$(`${C.EXPORT_PRODUCT_LIST}`)},vt=()=>{$(`${C.IMPORT_PRODUCT_LIST}`)},j={[I.CREATE]:et,[I.IMPORT]:vt,[I.EXPORT]:ft},St=t=>{j[t]&&j[t]()},x=[{key:"deactivate",value:"Disable Products"},{key:"publish",value:"Publish Products"},{key:"unpublish",value:"Unpublish Products"},{key:"deleteProducts",value:"Delete Products"}];return o.useEffect(()=>{(async()=>{if(X){J(!1);const t=Nt(W.PRODUCTS);if(t){const a=Et(k,"key",t.filterKey)||n;v(t.page),U(a),E(t.sort),M(t.query||""),s.setSearchQuery({props:{searchQuery:t.query||""}}),await r(a,t.sort,t.page,void 0,t.query)}else await r()}})()},[]),h.jsxs(Lt,{...s,name:"products",count:Z,searchPlaceholder:"Search by name, sku or tags.",children:[h.jsx(kt,{filters:k,currentFilter:n,filterChanged:ot,actionsParentId:"product-list",actions:xt[G.PRODUCTS_LIST],handleActionClick:St}),h.jsxs("div",{className:"listing-content",children:[h.jsx(It,{tableId:"all-products-list",status:{approved:["Active"],disabled:["Disabled"]},enableBulkActions:!0,bulkActions:{options:n.label==="Active"?x:[{key:"activate",value:"Activate Products"},...x],hasObjectsInOptions:!0,objectKey:"key",objectValue:"value"},iconCell:{key:"name",primaryTextKey:"name",iconKey:"thumbnailUrl"},handleBulkAction:ht,rows:O,columns:jt(),enableFilters:!0,sortTable:it,tableRowClicked:st,rowsPerPage:P,rowPerPageChanged:rt,nextPage:ct,prevPage:ut,currentPageNumber:d,totalPage:B}),h.jsx(Ft,{type:"delete",openDialog:tt,dialogTitle:"Delete Products",dialogMessage:"Are you sure you want to proceed?",dialogMessageHelpingText:"This cannot be undone.",secondaryButtonHandler:pt,primaryButtonHandler:gt,secondaryButtonLabel:"No",primaryButtonLabel:"Yes"},"deleteCategoryDialog")]})]})},Ht=s=>({user:s.data.user,searchQuery:s.ui.searchQuery}),Kt=s=>({setSearchQuery:f=>s(Ot(f))}),ka=Tt(Ht,Kt)(qt);export{ka as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.