UNPKG

paste-from-excel

Version:

Utility to allow pasting data intact from Excel into an HTML table

1 lines 2.13 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PasteFromExcel=t():e.PasteFromExcel=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){e.exports=r(1).default},function(e,t,r){"use strict";function n(e,t){const{rowSelector:r="tr",cellSelector:n="td",inputSelector:o="input"}=t||{};if(!e||!e.target||!e.clipboardData)return;if(e.target.parentNode.querySelector(o)!==e.target)return;let u=e.target,i=e.target.closest(n),l=e.target.closest(r);if(!i|!l)return;e.preventDefault();const c=Array.from(l.querySelectorAll(n)).indexOf(i),f=function(e){return e.split(/\r\n|\n|\r/).map(e=>e.split("\t"))}(e.clipboardData.getData("text/plain"));for(const e of f){for(const t of e){"true"===u.contentEditable?u.innerText=t:u.value=t;const e=new Event("input",{bubbles:!0});u.dispatchEvent(e);const r=new Event("blur",{bubbles:!0});if(u.dispatchEvent(r),i=u.closest(n),!i||!i.nextElementSibling)break;if(u=i.nextElementSibling.querySelector(o),!u)break}if(l=l.nextElementSibling,!l)break;if(i=l.querySelectorAll(n)[c],!i)break;if(u=i.querySelector(o),!u)break}}r.r(t),r.d(t,"default",(function(){return n}))}])}));