frappe-react-sdk 1.1.3 → 1.1.4

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.
@@ -4058,7 +4058,7 @@ const pa = ws.exports.jsx, Q = Nr(null), ba = ({
4058
4058
  const s = Pr(() => {
4059
4059
  const i = new Ji.FrappeApp(n, e);
4060
4060
  return {
4061
- url: n,
4061
+ url: n || "",
4062
4062
  tokenParams: e,
4063
4063
  app: i,
4064
4064
  auth: i.auth(),
@@ -41,4 +41,4 @@ Check the render method of \``+u+"`."}return""}}function va(u){{if(u!==void 0){v
41
41
 
42
42
  Check your code at `+p+":"+g+"."}return""}}var ms={};function ma(u){{var p=vs();if(!p){var g=typeof u=="string"?u:u.displayName||u.name;g&&(p=`
43
43
 
44
- Check the top-level render call using <`+g+">.")}return p}}function ys(u,p){{if(!u._store||u._store.validated||u.key!=null)return;u._store.validated=!0;var g=ma(p);if(ms[g])return;ms[g]=!0;var b="";u&&u._owner&&u._owner!==Ln.current&&(b=" It was passed a child from "+V(u._owner.type)+"."),Ye(u),R('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',g,b),Ye(null)}}function gs(u,p){{if(typeof u!="object")return;if(qe(u))for(var g=0;g<u.length;g++){var b=u[g];Fn(b)&&ys(b,p)}else if(Fn(u))u._store&&(u._store.validated=!0);else if(u){var k=_(u);if(typeof k=="function"&&k!==u.entries)for(var P=k.call(u),x;!(x=P.next()).done;)Fn(x.value)&&ys(x.value,p)}}}function ya(u){{var p=u.type;if(p==null||typeof p=="string")return;var g;if(typeof p=="function")g=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===f||p.$$typeof===l))g=p.propTypes;else return;if(g){var b=V(p);Pt(g,u.props,"prop",b,u)}else if(p.PropTypes!==void 0&&!Nn){Nn=!0;var k=V(p);R("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",k||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&R("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ga(u){{for(var p=Object.keys(u.props),g=0;g<p.length;g++){var b=p[g];if(b!=="children"&&b!=="key"){Ye(u),R("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",b),Ye(null);break}}u.ref!==null&&(Ye(u),R("Invalid attribute `ref` supplied to `React.Fragment`."),Ye(null))}}function _s(u,p,g,b,k,P){{var x=I(u);if(!x){var T="";(u===void 0||typeof u=="object"&&u!==null&&Object.keys(u).length===0)&&(T+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var te=va(k);te?T+=te:T+=vs();var q;u===null?q="null":qe(u)?q="array":u!==void 0&&u.$$typeof===e?(q="<"+(V(u.type)||"Unknown")+" />",T=" Did you accidentally export a JSX literal instead of a component?"):q=typeof u,R("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",q,T)}var J=pa(u,p,g,k,P);if(J==null)return J;if(x){var ce=p.children;if(ce!==void 0)if(b)if(qe(ce)){for(var Je=0;Je<ce.length;Je++)gs(ce[Je],u);Object.freeze&&Object.freeze(ce)}else R("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else gs(ce,u)}return u===r?ga(J):ya(J),J}}function _a(u,p,g){return _s(u,p,g,!0)}function ba(u,p,g){return _s(u,p,g,!1)}var wa=ba,Ea=_a;it.Fragment=r,it.jsx=wa,it.jsxs=Ea}()),it}(function(n){process.env.NODE_ENV==="production"?n.exports=Wo():n.exports=qo()})(os);const Ho=os.exports.jsx,X=d.createContext(null),Yo=({url:n="",tokenParams:e,socketPort:t,children:r})=>{const s=d.useMemo(()=>{const i=new Ci.FrappeApp(n,e);return{url:n,tokenParams:e,app:i,auth:i.auth(),db:i.db(),call:i.call(),file:i.file(),socket:new Mo(n,t).socket}},[n,e,t]);return Ho(X.Provider,{value:s,children:r})},Jo=n=>{const{url:e,auth:t,tokenParams:r}=d.useContext(X),[s,i]=d.useState(),o=d.useCallback(()=>{const w=document.cookie.split(";").find(E=>E.trim().startsWith("user_id="));if(w){const E=w.split("=")[1];i(E&&E!=="Guest"?E:null)}else i(null)},[]);d.useEffect(()=>{r&&r.useToken?i(null):o()},[]);const{data:c,error:f,isLoading:a,isValidating:h,mutate:l}=tt(()=>r&&r.useToken||s?`${e}/api/method/frappe.auth.get_logged_user`:null,()=>t.getLoggedInUser(),{onError:()=>{i(null)},shouldRetryOnError:!1,revalidateOnFocus:!1,...n}),m=d.useCallback(async(w,E)=>t.loginWithUsernamePassword({username:w,password:E}).then(_=>{o()}),[]),v=d.useCallback(async()=>t.logout().then(()=>l(null)).then(()=>i(null)),[]);return{isLoading:s===void 0||a,currentUser:c,isValidating:h,error:f,login:m,logout:v,updateCurrentUser:l,getUserCookie:o}},zo=(n,e,t,r)=>{const{url:s,db:i}=d.useContext(X);return{...tt(t===void 0?`${s}/api/resource/${n}/${e}`:t,()=>i.getDoc(n,e),r)}},cs=n=>{var t,r,s;let e="";if(n!=null&&n.fields&&(e+="fields="+JSON.stringify(n==null?void 0:n.fields)+"&"),n!=null&&n.filters&&(e+="filters="+JSON.stringify(n==null?void 0:n.filters)+"&"),n!=null&&n.orFilters&&(e+="or_filters="+JSON.stringify(n==null?void 0:n.orFilters)+"&"),n!=null&&n.limit_start&&(e+="limit_start="+JSON.stringify(n==null?void 0:n.limit_start)+"&"),n!=null&&n.limit&&(e+="limit="+JSON.stringify(n==null?void 0:n.limit)+"&"),n!=null&&n.groupBy&&(e+="group_by="+n.groupBy+"&"),n!=null&&n.orderBy){const i=`${(t=n.orderBy)==null?void 0:t.field} ${(s=(r=n.orderBy)==null?void 0:r.order)!=null?s:"asc"}`;e+="order_by="+i+"&"}return n!=null&&n.asDict&&(e+="as_dict="+n.asDict),e},Ko=(n,e,t,r)=>{const{url:s,db:i}=d.useContext(X);return{...tt(t===void 0?`${s}/api/resource/${n}?${cs(e)}`:t,()=>i.getDocList(n,e),r)}},Go=()=>{const{db:n}=d.useContext(X),[e,t]=d.useState(!1),[r,s]=d.useState(null),[i,o]=d.useState(!1),c=d.useCallback(()=>{t(!1),s(null),o(!1)},[]);return{createDoc:d.useCallback(async(a,h)=>(s(null),o(!1),t(!0),n.createDoc(a,h).then(l=>(t(!1),o(!0),l)).catch(l=>{throw t(!1),o(!1),s(l),l})),[]),loading:e,error:r,isCompleted:i,reset:c}},Xo=()=>{const{db:n}=d.useContext(X),[e,t]=d.useState(!1),[r,s]=d.useState(null),[i,o]=d.useState(!1),c=d.useCallback(()=>{t(!1),s(null),o(!1)},[]);return{updateDoc:d.useCallback(async(a,h,l)=>(s(null),o(!1),t(!0),n.updateDoc(a,h,l).then(m=>(t(!1),o(!0),m)).catch(m=>{throw t(!1),o(!1),s(m),m})),[]),loading:e,error:r,reset:c,isCompleted:i}},Qo=()=>{const{db:n}=d.useContext(X),[e,t]=d.useState(!1),[r,s]=d.useState(null),[i,o]=d.useState(!1),c=d.useCallback(()=>{t(!1),s(null),o(!1)},[]);return{deleteDoc:d.useCallback(async(a,h)=>(s(null),o(!1),t(!0),n.deleteDoc(a,h).then(l=>(t(!1),o(!0),l)).catch(l=>{throw t(!1),o(!1),s(l),l})),[]),loading:e,error:r,reset:c,isCompleted:i}};function ls(n){const e=[];for(let t in n)e.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e.join("&")}const Zo=(n,e,t=!1,r=!1,s,i)=>{const{url:o,db:c}=d.useContext(X);return{...tt(s===void 0?(()=>{const h=ls(t?{doctype:n,filters:e!=null?e:[],cache:t,debug:r}:{doctype:n,filters:e!=null?e:[],debug:r});return`${o}/api/method/frappe.client.get_count?${h}`})():s,()=>c.getCount(n,e,t,r),i)}},fs=(n,e,t,r)=>{const{call:s}=d.useContext(X),i=ls(e!=null?e:{}),o=`${n}?${i}`;return{...tt(t===void 0?o:t,()=>s.get(n,e),r)}},$o=n=>{const{call:e}=d.useContext(X),[t,r]=d.useState(null),[s,i]=d.useState(!1),[o,c]=d.useState(null),[f,a]=d.useState(!1),h=d.useCallback(()=>{r(null),i(!1),c(null),a(!1)},[]);return{call:d.useCallback(async m=>(c(null),a(!1),i(!0),r(null),e.post(n,m).then(v=>(r(v),i(!1),a(!0),v)).catch(v=>{throw i(!1),a(!1),c(v),v})),[]),result:t,loading:s,error:o,reset:h,isCompleted:f}},ea=n=>{const{call:e}=d.useContext(X),[t,r]=d.useState(null),[s,i]=d.useState(!1),[o,c]=d.useState(null),[f,a]=d.useState(!1),h=d.useCallback(()=>{r(null),i(!1),c(null),a(!1)},[]);return{call:d.useCallback(async m=>(c(null),a(!1),i(!0),r(null),e.put(n,m).then(v=>(r(v),i(!1),a(!0),v)).catch(v=>{throw i(!1),a(!1),c(v),v})),[]),result:t,loading:s,error:o,reset:h,isCompleted:f}},ta=n=>{const{call:e}=d.useContext(X),[t,r]=d.useState(null),[s,i]=d.useState(!1),[o,c]=d.useState(null),[f,a]=d.useState(!1),h=d.useCallback(()=>{r(null),i(!1),c(null),a(!1)},[]);return{call:d.useCallback(async m=>(c(null),a(!1),i(!0),r(null),e.delete(n,m).then(v=>(r(v),i(!1),a(!0),v)).catch(v=>{throw i(!1),a(!1),c(v),v})),[]),result:t,loading:s,error:o,reset:h,isCompleted:f}},na=()=>{const{file:n}=d.useContext(X),[e,t]=d.useState(0),[r,s]=d.useState(!1),[i,o]=d.useState(null),[c,f]=d.useState(!1),a=d.useCallback(async(l,m)=>(h(),s(!0),n.uploadFile(l,m,(v,w)=>t(Math.round(v/w*100))).then(v=>(f(!0),t(100),s(!1),v.data.message)).catch(v=>{throw console.error(v),o(v),s(!1),v})),[]),h=d.useCallback(()=>{t(0),s(!1),o(null),f(!1)},[]);return{upload:a,progress:e,loading:r,isCompleted:c,error:i,reset:h}},ra=(n,e,t=[],r=20,s=250)=>{const i=sa(e,s);return fs("frappe.desk.search.search_link",{doctype:n,page_length:r,txt:i,filters:JSON.stringify(t!=null?t:[])})},sa=(n,e)=>{const[t,r]=d.useState(n);return d.useEffect(()=>{const s=setTimeout(()=>{r(n)},e);return()=>{clearTimeout(s)}},[n,e]),t},Lt=(n,e)=>{const{socket:t}=d.useContext(X);d.useEffect(()=>{let r=t.on(n,e);return()=>{r.off(n)}},[n,e])},ia=(n,e,t=!0,r)=>{const{socket:s}=d.useContext(X),[i,o]=d.useState([]);d.useEffect(()=>(s.emit("doc_subscribe",n,e),t&&s.emit("doc_open",n,e),()=>{s.emit("doc_unsubscribe",n,e),t&&s.emit("doc_close",n,e)}),[n,e,t]),Lt("doc_update",r);const c=d.useCallback(()=>{s.emit("doc_open",n,e)},[n,e]),f=d.useCallback(()=>{s.emit("doc_close",n,e)},[n,e]),a=d.useCallback(h=>{h.doctype===n&&h.docname===e&&o(h.users)},[n,e]);return Lt("doc_viewers",a),{viewers:i,emitDocOpen:c,emitDocClose:f}},oa=(n,e)=>{const{socket:t}=d.useContext(X);d.useEffect(()=>(t.emit("doctype_subscribe",n),()=>{t.emit("doctype_unsubscribe",n)}),[n]),Lt("list_update",e)};A.FrappeContext=X,A.FrappeProvider=Yo,A.getDocListQueryString=cs,A.useFrappeAuth=Jo,A.useFrappeCreateDoc=Go,A.useFrappeDeleteCall=ta,A.useFrappeDeleteDoc=Qo,A.useFrappeDocTypeEventListener=oa,A.useFrappeDocumentEventListener=ia,A.useFrappeEventListener=Lt,A.useFrappeFileUpload=na,A.useFrappeGetCall=fs,A.useFrappeGetDoc=zo,A.useFrappeGetDocCount=Zo,A.useFrappeGetDocList=Ko,A.useFrappePostCall=$o,A.useFrappePutCall=ea,A.useFrappeUpdateDoc=Xo,A.useSearch=ra,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
44
+ Check the top-level render call using <`+g+">.")}return p}}function ys(u,p){{if(!u._store||u._store.validated||u.key!=null)return;u._store.validated=!0;var g=ma(p);if(ms[g])return;ms[g]=!0;var b="";u&&u._owner&&u._owner!==Ln.current&&(b=" It was passed a child from "+V(u._owner.type)+"."),Ye(u),R('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',g,b),Ye(null)}}function gs(u,p){{if(typeof u!="object")return;if(qe(u))for(var g=0;g<u.length;g++){var b=u[g];Fn(b)&&ys(b,p)}else if(Fn(u))u._store&&(u._store.validated=!0);else if(u){var k=_(u);if(typeof k=="function"&&k!==u.entries)for(var P=k.call(u),x;!(x=P.next()).done;)Fn(x.value)&&ys(x.value,p)}}}function ya(u){{var p=u.type;if(p==null||typeof p=="string")return;var g;if(typeof p=="function")g=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===f||p.$$typeof===l))g=p.propTypes;else return;if(g){var b=V(p);Pt(g,u.props,"prop",b,u)}else if(p.PropTypes!==void 0&&!Nn){Nn=!0;var k=V(p);R("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",k||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&R("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ga(u){{for(var p=Object.keys(u.props),g=0;g<p.length;g++){var b=p[g];if(b!=="children"&&b!=="key"){Ye(u),R("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",b),Ye(null);break}}u.ref!==null&&(Ye(u),R("Invalid attribute `ref` supplied to `React.Fragment`."),Ye(null))}}function _s(u,p,g,b,k,P){{var x=I(u);if(!x){var T="";(u===void 0||typeof u=="object"&&u!==null&&Object.keys(u).length===0)&&(T+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var te=va(k);te?T+=te:T+=vs();var q;u===null?q="null":qe(u)?q="array":u!==void 0&&u.$$typeof===e?(q="<"+(V(u.type)||"Unknown")+" />",T=" Did you accidentally export a JSX literal instead of a component?"):q=typeof u,R("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",q,T)}var J=pa(u,p,g,k,P);if(J==null)return J;if(x){var ce=p.children;if(ce!==void 0)if(b)if(qe(ce)){for(var Je=0;Je<ce.length;Je++)gs(ce[Je],u);Object.freeze&&Object.freeze(ce)}else R("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else gs(ce,u)}return u===r?ga(J):ya(J),J}}function _a(u,p,g){return _s(u,p,g,!0)}function ba(u,p,g){return _s(u,p,g,!1)}var wa=ba,Ea=_a;it.Fragment=r,it.jsx=wa,it.jsxs=Ea}()),it}(function(n){process.env.NODE_ENV==="production"?n.exports=Wo():n.exports=qo()})(os);const Ho=os.exports.jsx,X=d.createContext(null),Yo=({url:n="",tokenParams:e,socketPort:t,children:r})=>{const s=d.useMemo(()=>{const i=new Ci.FrappeApp(n,e);return{url:n||"",tokenParams:e,app:i,auth:i.auth(),db:i.db(),call:i.call(),file:i.file(),socket:new Mo(n,t).socket}},[n,e,t]);return Ho(X.Provider,{value:s,children:r})},Jo=n=>{const{url:e,auth:t,tokenParams:r}=d.useContext(X),[s,i]=d.useState(),o=d.useCallback(()=>{const w=document.cookie.split(";").find(E=>E.trim().startsWith("user_id="));if(w){const E=w.split("=")[1];i(E&&E!=="Guest"?E:null)}else i(null)},[]);d.useEffect(()=>{r&&r.useToken?i(null):o()},[]);const{data:c,error:f,isLoading:a,isValidating:h,mutate:l}=tt(()=>r&&r.useToken||s?`${e}/api/method/frappe.auth.get_logged_user`:null,()=>t.getLoggedInUser(),{onError:()=>{i(null)},shouldRetryOnError:!1,revalidateOnFocus:!1,...n}),m=d.useCallback(async(w,E)=>t.loginWithUsernamePassword({username:w,password:E}).then(_=>{o()}),[]),v=d.useCallback(async()=>t.logout().then(()=>l(null)).then(()=>i(null)),[]);return{isLoading:s===void 0||a,currentUser:c,isValidating:h,error:f,login:m,logout:v,updateCurrentUser:l,getUserCookie:o}},zo=(n,e,t,r)=>{const{url:s,db:i}=d.useContext(X);return{...tt(t===void 0?`${s}/api/resource/${n}/${e}`:t,()=>i.getDoc(n,e),r)}},cs=n=>{var t,r,s;let e="";if(n!=null&&n.fields&&(e+="fields="+JSON.stringify(n==null?void 0:n.fields)+"&"),n!=null&&n.filters&&(e+="filters="+JSON.stringify(n==null?void 0:n.filters)+"&"),n!=null&&n.orFilters&&(e+="or_filters="+JSON.stringify(n==null?void 0:n.orFilters)+"&"),n!=null&&n.limit_start&&(e+="limit_start="+JSON.stringify(n==null?void 0:n.limit_start)+"&"),n!=null&&n.limit&&(e+="limit="+JSON.stringify(n==null?void 0:n.limit)+"&"),n!=null&&n.groupBy&&(e+="group_by="+n.groupBy+"&"),n!=null&&n.orderBy){const i=`${(t=n.orderBy)==null?void 0:t.field} ${(s=(r=n.orderBy)==null?void 0:r.order)!=null?s:"asc"}`;e+="order_by="+i+"&"}return n!=null&&n.asDict&&(e+="as_dict="+n.asDict),e},Ko=(n,e,t,r)=>{const{url:s,db:i}=d.useContext(X);return{...tt(t===void 0?`${s}/api/resource/${n}?${cs(e)}`:t,()=>i.getDocList(n,e),r)}},Go=()=>{const{db:n}=d.useContext(X),[e,t]=d.useState(!1),[r,s]=d.useState(null),[i,o]=d.useState(!1),c=d.useCallback(()=>{t(!1),s(null),o(!1)},[]);return{createDoc:d.useCallback(async(a,h)=>(s(null),o(!1),t(!0),n.createDoc(a,h).then(l=>(t(!1),o(!0),l)).catch(l=>{throw t(!1),o(!1),s(l),l})),[]),loading:e,error:r,isCompleted:i,reset:c}},Xo=()=>{const{db:n}=d.useContext(X),[e,t]=d.useState(!1),[r,s]=d.useState(null),[i,o]=d.useState(!1),c=d.useCallback(()=>{t(!1),s(null),o(!1)},[]);return{updateDoc:d.useCallback(async(a,h,l)=>(s(null),o(!1),t(!0),n.updateDoc(a,h,l).then(m=>(t(!1),o(!0),m)).catch(m=>{throw t(!1),o(!1),s(m),m})),[]),loading:e,error:r,reset:c,isCompleted:i}},Qo=()=>{const{db:n}=d.useContext(X),[e,t]=d.useState(!1),[r,s]=d.useState(null),[i,o]=d.useState(!1),c=d.useCallback(()=>{t(!1),s(null),o(!1)},[]);return{deleteDoc:d.useCallback(async(a,h)=>(s(null),o(!1),t(!0),n.deleteDoc(a,h).then(l=>(t(!1),o(!0),l)).catch(l=>{throw t(!1),o(!1),s(l),l})),[]),loading:e,error:r,reset:c,isCompleted:i}};function ls(n){const e=[];for(let t in n)e.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e.join("&")}const Zo=(n,e,t=!1,r=!1,s,i)=>{const{url:o,db:c}=d.useContext(X);return{...tt(s===void 0?(()=>{const h=ls(t?{doctype:n,filters:e!=null?e:[],cache:t,debug:r}:{doctype:n,filters:e!=null?e:[],debug:r});return`${o}/api/method/frappe.client.get_count?${h}`})():s,()=>c.getCount(n,e,t,r),i)}},fs=(n,e,t,r)=>{const{call:s}=d.useContext(X),i=ls(e!=null?e:{}),o=`${n}?${i}`;return{...tt(t===void 0?o:t,()=>s.get(n,e),r)}},$o=n=>{const{call:e}=d.useContext(X),[t,r]=d.useState(null),[s,i]=d.useState(!1),[o,c]=d.useState(null),[f,a]=d.useState(!1),h=d.useCallback(()=>{r(null),i(!1),c(null),a(!1)},[]);return{call:d.useCallback(async m=>(c(null),a(!1),i(!0),r(null),e.post(n,m).then(v=>(r(v),i(!1),a(!0),v)).catch(v=>{throw i(!1),a(!1),c(v),v})),[]),result:t,loading:s,error:o,reset:h,isCompleted:f}},ea=n=>{const{call:e}=d.useContext(X),[t,r]=d.useState(null),[s,i]=d.useState(!1),[o,c]=d.useState(null),[f,a]=d.useState(!1),h=d.useCallback(()=>{r(null),i(!1),c(null),a(!1)},[]);return{call:d.useCallback(async m=>(c(null),a(!1),i(!0),r(null),e.put(n,m).then(v=>(r(v),i(!1),a(!0),v)).catch(v=>{throw i(!1),a(!1),c(v),v})),[]),result:t,loading:s,error:o,reset:h,isCompleted:f}},ta=n=>{const{call:e}=d.useContext(X),[t,r]=d.useState(null),[s,i]=d.useState(!1),[o,c]=d.useState(null),[f,a]=d.useState(!1),h=d.useCallback(()=>{r(null),i(!1),c(null),a(!1)},[]);return{call:d.useCallback(async m=>(c(null),a(!1),i(!0),r(null),e.delete(n,m).then(v=>(r(v),i(!1),a(!0),v)).catch(v=>{throw i(!1),a(!1),c(v),v})),[]),result:t,loading:s,error:o,reset:h,isCompleted:f}},na=()=>{const{file:n}=d.useContext(X),[e,t]=d.useState(0),[r,s]=d.useState(!1),[i,o]=d.useState(null),[c,f]=d.useState(!1),a=d.useCallback(async(l,m)=>(h(),s(!0),n.uploadFile(l,m,(v,w)=>t(Math.round(v/w*100))).then(v=>(f(!0),t(100),s(!1),v.data.message)).catch(v=>{throw console.error(v),o(v),s(!1),v})),[]),h=d.useCallback(()=>{t(0),s(!1),o(null),f(!1)},[]);return{upload:a,progress:e,loading:r,isCompleted:c,error:i,reset:h}},ra=(n,e,t=[],r=20,s=250)=>{const i=sa(e,s);return fs("frappe.desk.search.search_link",{doctype:n,page_length:r,txt:i,filters:JSON.stringify(t!=null?t:[])})},sa=(n,e)=>{const[t,r]=d.useState(n);return d.useEffect(()=>{const s=setTimeout(()=>{r(n)},e);return()=>{clearTimeout(s)}},[n,e]),t},Lt=(n,e)=>{const{socket:t}=d.useContext(X);d.useEffect(()=>{let r=t.on(n,e);return()=>{r.off(n)}},[n,e])},ia=(n,e,t=!0,r)=>{const{socket:s}=d.useContext(X),[i,o]=d.useState([]);d.useEffect(()=>(s.emit("doc_subscribe",n,e),t&&s.emit("doc_open",n,e),()=>{s.emit("doc_unsubscribe",n,e),t&&s.emit("doc_close",n,e)}),[n,e,t]),Lt("doc_update",r);const c=d.useCallback(()=>{s.emit("doc_open",n,e)},[n,e]),f=d.useCallback(()=>{s.emit("doc_close",n,e)},[n,e]),a=d.useCallback(h=>{h.doctype===n&&h.docname===e&&o(h.users)},[n,e]);return Lt("doc_viewers",a),{viewers:i,emitDocOpen:c,emitDocClose:f}},oa=(n,e)=>{const{socket:t}=d.useContext(X);d.useEffect(()=>(t.emit("doctype_subscribe",n),()=>{t.emit("doctype_unsubscribe",n)}),[n]),Lt("list_update",e)};A.FrappeContext=X,A.FrappeProvider=Yo,A.getDocListQueryString=cs,A.useFrappeAuth=Jo,A.useFrappeCreateDoc=Go,A.useFrappeDeleteCall=ta,A.useFrappeDeleteDoc=Qo,A.useFrappeDocTypeEventListener=oa,A.useFrappeDocumentEventListener=ia,A.useFrappeEventListener=Lt,A.useFrappeFileUpload=na,A.useFrappeGetCall=fs,A.useFrappeGetDoc=zo,A.useFrappeGetDocCount=Zo,A.useFrappeGetDocList=Ko,A.useFrappePostCall=$o,A.useFrappePutCall=ea,A.useFrappeUpdateDoc=Xo,A.useSearch=ra,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "frappe-react-sdk",
3
3
  "description": "React hooks for Frappe Framework",
4
- "version": "1.1.3",
4
+ "version": "1.1.4",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "The Commit Company",