1import{a as y,j as t,L as J}from"./vendor-BEUer1XH.js";import{u as W,d as X,c as Y,a as Z,g as ee}from"./storage_type.api-DKh_-ULS.js";import{C as te}from"./index-_xoAewD-.js";import{E as se}from"./EyeOutlined-BBHl2ktf.js";import{H as ie}from"./HolderOutlined-D-VI6BEI.js";import{D as ne,r as ae,S as oe,v as le,b as de,c as me,C as ce}from"./modifiers.esm-Dto5cnK1.js";import{u as re}from"./useQuery-BhaiNdUJ.js";import{u as V}from"./useMutation-KANBv_r7.js";import{i as N}from"./utils-w1iDNRBg.js";import{I as pe}from"./index-CsvSiRX6.js";import{d as ue,c as xe}from"./helper-COm6pSps.js";import{D as ge,T as fe,B as k}from"./index-DENArrSa.js";import{F as f}from"./index-BYqFq3zo.js";import{B as ye}from"./Breadcrumb-DW4w8HQp.js";import{M as he}from"./index-BFXII9Et.js";import{I as S}from"./index-CW5BAikS.js";import{F as je}from"./Table-DVvNjDQl.js";import{S as Se}from"./index-DQHdZsHa.js";import"./index-xmoZg6gj.js";import"./index-CrRiyByw.js";import"./EyeOutlined-D647LYEE.js";import"./addEventListener-DapjV_MG.js";import"./LeftOutlined-CpjQE-vN.js";import"./RightOutlined-9GOMZsx1.js";import"./CloseOutlined-ArQtM8bV.js";import"./image.compressor-CWG2CkHV.js";import"./collapse-BbEVqHco.js";import"./useBreakpoint-BBrUbbpN.js";import"./mediaQueryUtil-BSyvLspT.js";import"./format.date-nJSPwOdY.js";import"./weekday-DCQWGhN8.js";import"./useForm-DrUwT_4T.js";import"./DownOutlined-CeXDrnPO.js";import"./dropdown-qHy0AlcK.js";import"./Dropdown-CDCCRALY.js";import"./PurePanel-CbtVgttN.js";import"./index-BzPrgs7b.js";import"./EllipsisOutlined-Djar-icM.js";import"./Overflow-CAQIMHA2.js";import"./Input-CD5EvbY1.js";import"./Search-cPbr6bPB.js";import"./SearchOutlined-DVVMytpw.js";import"./index-Cn9ZDzL8.js";import"./index-pp2-ToLR.js";import"./index-B3fdPxRr.js";import"./Pagination-B4vWHmlc.js";import"./index-CCT_oRJ6.js";import"./index-CUWDS_la.js";import"./gapSize-U1swVQyS.js";const{Text:B}=fe,$=y.createContext({}),Ie=()=>{const{setActivatorNodeRef:l,listeners:d}=y.useContext($);return t.jsx(k,{type:"text",size:"small",icon:t.jsx(ie,{}),style:{cursor:"move"},ref:l,...d})},be=l=>{const{listeners:d,setNodeRef:m,setActivatorNodeRef:j,transform:F,transition:I,isDragging:r}=me({id:l["data-row-key"]}),b={...l.style,transform:ce.Translate.toString(F),transition:I,...r?{position:"relative",zIndex:9999}:{}},T=y.useMemo(()=>({setActivatorNodeRef:j,listeners:d}),[j,d]);return t.jsx($.Provider,{value:T,children:t.jsx("tr",{...l,ref:m,style:b})})},ht=()=>{const{notification:l}=ge.useApp(),[d]=f.useForm(),[m,j]=y.useState([]),[F,I]=y.useState(!1),[r,b]=y.useState(null),[T,_]=y.useState(),H=()=>d.setFieldValue("icon",""),L=e=>{d.setFieldValue("icon",e)},{mutate:A,isPending:C}=V({mutationFn:e=>e.has("id")?W(e):e.has("delete_id")?X(e):Y(e)}),z=async()=>{const e=await d.validateFields();if(e){const i=new FormData;e.id&&i.append("id",String(e.id)),i.append("price_cents",ue(e==null?void 0:e.price_cents).toString()),i.append("title",e==null?void 0:e.title),i.append("noun",e.noun),i.append("note",e==null?void 0:e.note),e.icon&&i.append("icon",e==null?void 0:e.icon),A(i,{onSettled:(a,s)=>{var p,o,n,u,x,g;if(a){let c="Storage type has been created";e.id&&(c=`Storage type ${(p=a==null?void 0:a.storage_type)==null?void 0:p.title} has been updated`),l.success({message:c}),R(),w()}if(s&&N(s)){let c=s==null?void 0:s.message;(n=(o=s==null?void 0:s.response)==null?void 0:o.data)!=null&&n.error&&(c=(g=(x=(u=s==null?void 0:s.response)==null?void 0:u.data)==null?void 0:x.details)==null?void 0:g.message),l.error({message:c})}}})}},U=e=>{const i=new FormData;e&&i.append("delete_id",String(e)),A(i,{onSettled:(a,s)=>{var p,o,n,u,x,g;if(a&&(l.success({message:(p=a==null?void 0:a.data)==null?void 0:p.message}),R()),s&&N(s)){let c=s==null?void 0:s.message;(n=(o=s==null?void 0:s.response)==null?void 0:o.data)!=null&&n.error&&(c=(g=(x=(u=s==null?void 0:s.response)==null?void 0:u.data)==null?void 0:x.details)==null?void 0:g.message),l.error({message:c})}}})},D=e=>{I(!0),b(e),_(e.icon_url),d.setFieldsValue(e)},w=()=>{I(!1),b(null),_(""),d.resetFields()},K=[{key:"sort",align:"center",render:()=>t.jsx(Ie,{})},{title:"Icon",dataIndex:"icon_url",key:"icon_url",align:"center",render:e=>t.jsx(te,{width:50,src:e,preview:{mask:t.jsx(se,{})}})},{title:"Name",dataIndex:"title",key:"title"},{title:"Price",dataIndex:"price_cents",key:"price_cents",render:e=>`$${e}`},{title:"Noun",dataIndex:"noun",key:"noun"},{title:"Note",dataIndex:"note",key:"note"},{title:"Action",dataIndex:"id",key:"id",align:"center",render:(e,i)=>t.jsxs(Se,{children:[t.jsx(k,{type:"text",onClick:()=>D(i),disabled:C,children:"Edit"}),t.jsx(k,{danger:!0,type:"text",onClick:()=>U(e),disabled:C,children:"Remove"})]})}],{data:h,isLoading:E,isFetching:M,isError:v,refetch:R}=re({queryKey:["storage-type"],queryFn:ee,select:e=>{var i;return((i=e.storage_types)==null?void 0:i.map((a,s)=>({...a,key:s,price_cents:xe(Number(a.price_cents))||"0"})))||[]},retry:0});y.useEffect(()=>{h&&j(h)},[h]);const{mutate:Q}=V({mutationFn:e=>Z(e)}),G=({active:e,over:i})=>{if(e.id!==(i==null?void 0:i.id)&&m){const a=m==null?void 0:m.findIndex(o=>o.id===(e==null?void 0:e.id)),s=m==null?void 0:m.findIndex(o=>o.id===(i==null?void 0:i.id)),p=de(m,a,s);j(p),Q({ordered_storage_type_ids:p.map(o=>o.id)},{onSettled:(o,n)=>{var u,x,g,c,P,q;if(o&&l.success({message:(u=o.data)==null?void 0:u.message}),n&&N(n)){let O=n==null?void 0:n.message;(g=(x=n==null?void 0:n.response)==null?void 0:x.data)!=null&&g.error&&(O=(q=(P=(c=n==null?void 0:n.response)==null?void 0:c.data)==null?void 0:P.details)==null?void 0:q.message),l.error({message:O})}}})}};return t.jsxs(t.Fragment,{children:[t.jsx("section",{className:"container",children:t.jsx(ye,{style:{margin:"16px 0"},items:[{title:t.jsx(J,{to:"/admin",children:"..."})},{title:t.jsx(B,{className:"capitalize",children:"Storage Type"})}]})}),t.jsxs("section",{className:"container mb-4",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("p",{className:"text-sm text-right text-muted-darken",children:E||M?"":`${h==null?void 0:h.length} results found`}),t.jsx(k,{type:"primary",onClick:()=>D({}),children:"Add Storage Type"}),t.jsx(he,{title:"Storage Type Form",open:F,onCancel:w,okText:r!=null&&r.id?"Edit Type":"Add Type",onOk:z,okButtonProps:{loading:C},children:t.jsxs(f,{requiredMark:!1,name:"form-client",form:d,autoComplete:"off",layout:"vertical",children:[(r==null?void 0:r.id)&&t.jsx(f.Item,{name:"id",noStyle:!0,hidden:!0,children:t.jsx(S,{})}),t.jsx(f.Item,{label:"Icon",name:"icon",children:t.jsx(pe,{height:"100%",...T&&{initialValue:[T]},onImageChange:L,onImageRemove:H})}),t.jsx(f.Item,{label:"Name",name:"title",rules:[{required:!0,message:"Please input title!"}],children:t.jsx(S,{placeholder:"Input title"})}),t.jsx(f.Item,{label:"Price",name:"price_cents",rules:[{required:!0,message:"Please input price!"}],children:t.jsx(S,{prefix:"$",placeholder:"Input price"})}),t.jsx(f.Item,{label:"Noun",name:"noun",rules:[{required:!0,message:"Please input noun!"}],children:t.jsx(S,{placeholder:"Input Noun"})}),t.jsx(f.Item,{label:"Note",name:"note",children:t.jsx(S.TextArea,{placeholder:"Input note"})})]})})]}),v?t.jsx("div",{className:"text-center",children:t.jsx(B,{children:"No Found Storage Type"})}):t.jsx(ne,{modifiers:[ae],onDragEnd:G,children:t.jsx(oe,{items:(h||[]).map(e=>e.id),strategy:le,children:t.jsx(je,{loading:E||M,bordered:!0,rowHoverable:!1,scroll:{x:"max-content",y:400},rowKey:"id",components:{body:{row:be}},columns:K,dataSource:m,pagination:!1})})})]})]})};export{ht 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.