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