UNPKG

@mhmdaljefri/revogrid

Version:

Virtual reactive data grid component - RevoGrid.

1 lines 1.43 kB
import{__awaiter,__generator}from"tslib";import{r as registerInstance,c as createEvent}from"./index-42c84e7c.js";var Clipboard=function(){function t(t){registerInstance(this,t);this.copyRegion=createEvent(this,"copyRegion",3);this.pasteRegion=createEvent(this,"pasteRegion",3)}t.prototype.onPaste=function(t){var e=this.getData(t);var r=e.types.indexOf("text/html")>-1;var a=r?e.getData("text/html"):e.getData("text");var n=r?this.htmlParse(a):this.textParse(a);this.pasteRegion.emit(n);t.preventDefault()};t.prototype.copyStarted=function(t){this.copyRegion.emit(this.getData(t));t.preventDefault()};t.prototype.doCopy=function(t,e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){t.setData("text/plain",e?this.parserCopy(e):"");return[2]}))}))};t.prototype.parserCopy=function(t){return t.map((function(t){return t.join("\t")})).join("\n")};t.prototype.textParse=function(t){var e=[];var r=t.split(/\r\n|\n|\r/);for(var a in r){e.push(r[a].split("\t"))}return e};t.prototype.htmlParse=function(t){var e=[];var r=document.createRange().createContextualFragment(t).querySelector("table");for(var a=0,n=Array.from(r.rows);a<n.length;a++){var o=n[a];e.push(Array.from(o.cells).map((function(t){return t.innerText})))}return e};t.prototype.getData=function(t){var e;return t.clipboardData||((e=window)===null||e===void 0?void 0:e.clipboardData)};return t}();export{Clipboard as revogr_clipboard};