@progress/kendo-react-editor
Version:
React Editor enables users to create rich text content through a WYSIWYG interface. KendoReact Editor package
9 lines (8 loc) • 1.63 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
*-------------------------------------------------------------------------------------------
*/
;const i=require("react"),u=require("../utils.js");function p(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const l=p(i),d="k-ct-cell k-disabled",h="k-selected";class m extends l.Component{constructor(){super(...arguments),this.state={row:-1,col:-1}}renderCell(e,t,o){const r=Math.floor(e/this.props.columns),s=e%this.props.columns,c=s<=o&&r<=t;return l.createElement("span",{className:d+(c?` ${h}`:""),onMouseEnter:()=>this.setState({row:r,col:s}),onClick:()=>this.props.onCellClick.call(void 0,r,s),key:e})}render(){const e=[],t=this.props.columns*this.props.rows,{row:o,col:r}=this.state,{onDown:s}=this.props;let c=this.props.createTableMessage;r>-1&&(c=u.formatString(this.props.createTableHintMessage,o+1,r+1));for(let a=0;a<t;a++)e.push(this.renderCell(a,o,r));return[l.createElement("div",{onMouseLeave:()=>this.setState({row:-1,col:-1}),key:"cells",style:{borderColor:"inherit"},onPointerDown:s,onMouseDown:s},e),l.createElement("div",{className:"k-status",key:"status",onPointerDown:s,onMouseDown:s},c)]}}module.exports=m;