UNPKG

@impler/react

Version:

React library to show CSV Excel Importer in react applications

3 lines (2 loc) 2.59 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),r=require("@impler/client");Object.defineProperty(exports,"ColumnTypes",{enumerable:!0,get:function(){return r.ColumnTypes}}),Object.defineProperty(exports,"ValidationTypes",{enumerable:!0,get:function(){return r.ValidationTypes}}),exports.useImpler=function(a){var n=this,o=a.projectId,i=a.primaryColor,c=a.templateId,l=a.accessToken,s=a.authHeaderValue,u=a.title,p=a.texts,d=a.extra,x=a.config,m=a.appearance,E=a.onUploadComplete,f=a.onWidgetClose,w=a.onUploadStart,y=a.onDataImported,v=a.onUploadTerminate,T=a.onImportJobCreated,_=e.__read(t.useState("xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=crypto.getRandomValues(new Uint8Array(1))[0]%16|0;return("x"===e?t:3&t|8).toString(16)}))),1)[0],I=e.__read(t.useState(!1),2),h=I[0],R=I[1],b=t.useCallback((function(e){switch(e.type){case r.EventTypes.UPLOAD_STARTED:w&&w(e.value);break;case r.EventTypes.UPLOAD_TERMINATED:v&&v(e.value);break;case r.EventTypes.UPLOAD_COMPLETED:E&&E(e.value);break;case r.EventTypes.DATA_IMPORTED:y&&y(e.value);break;case r.EventTypes.CLOSE_WIDGET:f&&f();break;case r.EventTypes.IMPORT_JOB_CREATED:T&&T(e.value)}}),[E,w,v,f]);return t.useEffect((function(){var e=setInterval((function(){window.impler&&window.impler.isReady()&&(R(!0),clearInterval(e))}),1e3);return function(){clearInterval(e)}}),[]),t.useEffect((function(){window.impler?(window.impler.init(_),window.impler.on("message",b,_)):r.logError("IMPLER_UNDEFINED_ERROR")}),[]),{isImplerInitiated:h,showWidget:function(t){var a=void 0===t?{}:t,E=a.colorScheme,f=a.data,w=a.sampleFile,y=a.schema,v=a.output;return e.__awaiter(n,void 0,void 0,(function(){var t,a,n;return e.__generator(this,(function(e){switch(e.label){case 0:return window.impler&&h?(t={uuid:_,templateId:c,host:"",projectId:o,accessToken:l,schema:y,data:f,sampleFile:w,output:v,title:u,extra:d,config:x,appearance:m,colorScheme:E,primaryColor:i},E||(a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",t.colorScheme=a),r.isObject(p)&&(t.texts=JSON.stringify(p)),s?"function"!=typeof s||"AsyncFunction"!==s.constructor.name?[3,2]:(n=t,[4,s()]):[3,3]):[3,4];case 1:return n.authHeaderValue=e.sent(),[3,3];case 2:t.authHeaderValue="function"==typeof s?s():s,e.label=3;case 3:return window.impler.show(t),[3,5];case 4:r.logError("IMPLER_UNDEFINED_ERROR"),e.label=5;case 5:return[2]}}))}))},closeWidget:function(){window.impler?window.impler.close():r.logError("IMPLER_UNDEFINED_ERROR")}}}; //# sourceMappingURL=index.js.map