@revolist/vue-datagrid
Version:
Vue 2 DataGrid Spreadsheet component with native Vue 2 render support
2 lines (1 loc) • 4.55 kB
JavaScript
(function(n,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("@revolist/revogrid/loader"),require("@revolist/revogrid")):typeof define=="function"&&define.amd?define(["exports","vue","@revolist/revogrid/loader","@revolist/revogrid"],a):(n=typeof globalThis<"u"?globalThis:n||self,a(n.VueDatagrid={},n.Vue,n.RevogridLoader,n.Revogrid))})(this,function(n,a,u,g){"use strict";const b=(e,r=[])=>function(i){const o=this,s=r.reduce((c,d)=>({...c,[d]:E=>{o.$emit(d,E)}}),o.$listeners),l=o.$props?Object.keys(o.$props).reduce((c,d)=>(c[v(d)]=o.$props[d],c[d]=o.$props[d],c),{}):{};return i(e,{ref:"wc",domProps:l,on:s,attrs:{"data-testid":e}},[o.$slots.default])},t=e=>function(...r){this.$refs.wc[e](...r)},C=e=>e.toLowerCase(),v=e=>C(e.replace(/([A-Z0-9])/g,r=>" "+r[0]).trim().replace(/ /g,"-")),y=["revo-grid"];a.config.ignoredElements=[...a.config.ignoredElements,...y];const S=a.extend({props:{rowHeaders:{},frameSize:{},rowSize:{},colSize:{},range:{},readonly:{},resize:{},canFocus:{},useClipboard:{},columns:{},source:{},pinnedTopSource:{},pinnedBottomSource:{},rowDefinitions:{},editors:{},applyOnClose:{},plugins:{},columnTypes:{},theme:{},rowClass:{},autoSizeColumn:{},filter:{},sorting:{},focusTemplate:{},canMoveColumns:{},trimmedRows:{},exporting:{},grouping:{},stretch:{},additionalData:{},disableVirtualX:{},disableVirtualY:{},hideAttribution:{},jobsBeforeRender:{},registerVNode:{},accessible:{},rtl:{},canDrag:{}},methods:{refresh:t("refresh"),setDataAt:t("setDataAt"),scrollToRow:t("scrollToRow"),scrollToColumnIndex:t("scrollToColumnIndex"),scrollToColumnProp:t("scrollToColumnProp"),updateColumns:t("updateColumns"),addTrimmed:t("addTrimmed"),scrollToCoordinate:t("scrollToCoordinate"),setCellEdit:t("setCellEdit"),setCellsFocus:t("setCellsFocus"),getSource:t("getSource"),getVisibleSource:t("getVisibleSource"),getSourceStore:t("getSourceStore"),getColumnStore:t("getColumnStore"),updateColumnSorting:t("updateColumnSorting"),clearSorting:t("clearSorting"),getColumns:t("getColumns"),clearFocus:t("clearFocus"),getPlugins:t("getPlugins"),getFocused:t("getFocused"),getContentSize:t("getContentSize"),getSelectedRange:t("getSelectedRange"),refreshExtraElements:t("refreshExtraElements"),getProviders:t("getProviders")},render:b("revo-grid",["contentsizechanged","beforeedit","beforerangeedit","afteredit","beforeautofill","beforerange","afterfocus","roworderchanged","beforesorting","beforesourcesortingapply","beforesortingapply","rowdragstart","headerclick","beforecellfocus","beforefocuslost","beforesourceset","beforeanysource","aftersourceset","afteranysource","beforecolumnsset","beforecolumnapplied","aftercolumnsset","beforefilterapply","beforefiltertrimmed","beforetrimmed","aftertrimmed","viewportscroll","beforeexport","beforeeditstart","aftercolumnresize","beforerowdefinition","filterconfigchanged","sortingconfigchanged","rowheaderschanged","beforegridrender","aftergridrender","aftergridinit","additionaldatachanged","afterthemechanged","created"])}),f=(e,r,i,o)=>{if(!r)return null;let s;if(r!=null&&r.childNodes.length&&(s=r.childNodes[0]),!s)return s=document.createElement("span"),r.appendChild(s),typeof e=="object"&&(e=a.extend(e)),new e({el:s,propsData:i,parent:o==null?void 0:o.vue});let l=s.__vue__;if(l&&i)for(const c in i)l.$props[c]=i[c];return l},m=(e,r)=>(i,o,s)=>{const l=r?{...r,...o}:o;return i("span",{key:`${l.key}-${l.rowIndex||0}`,ref:d=>f(e,d,l,s)})};class w{constructor(r,i,o,s){this.VueEditorConstructor=r,this.column=i,this.save=o,this.close=s,this.element=null}componentDidRender(){}disconnectedCallback(){var r;(r=this.vueEl)==null||r.$destroy(),this.vueEl=void 0}render(r,i){var o;return r("span",{key:`${this.column.prop}-${((o=this.editCell)==null?void 0:o.rowIndex)||0}`,ref:s=>this.renderAdapter(s,i)})}renderAdapter(r,i){if(!r)return;const o={...this.editCell,column:this.column,save:this.save,close:this.close},s=f(this.VueEditorConstructor,r,o,i);s&&(this.vueEl=s)}}const p=e=>function(r,i,o){return new w(e,r,i,o)},h=async()=>(await u.defineCustomElements(),S);n.Editor=p,n.Template=m,n.VGrid=h,n.VGridVueEditor=p,n.VGridVueTemplate=m,n.VGridVueTemplateConstructor=f,n.default=h,Object.keys(u).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:()=>u[e]})}),Object.keys(g).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:()=>g[e]})}),Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});