@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
9 lines (8 loc) • 1.52 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),b=require("react-dom"),s=require("prop-types");function m(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const t=m(y),c=t.forwardRef((e,n)=>{const{gridProps:r,pdf:o}=e,l={...r,...o},[a,i]=t.useState(!1),u=t.useRef(null);t.useEffect(()=>{async function d(){await e.onPdfExport({target:u.current}),i(!1)}a&&d()},[a,e.onPdfExport]);const f=()=>{i(!0)};t.useImperativeHandle(n,()=>({save:f}));const p=d=>{const P={style:{...l.style,width:"1000px"}};return e.innerGrid?t.createElement(e.innerGrid,{...P,...l,scrollable:"scrollable"}):null};return a&&b.createPortal(t.createElement("div",{style:{position:"absolute",left:"-5000px",top:"0px"}},t.createElement("div",{ref:u},p())),document.body)});c.displayName="BasePDFExport";c.propTypes={grid:s.element.isRequired,pdf:s.object,onPdfExport:s.func.isRequired};exports.BasePDFExport=c;