realgrid-vue2 0.9.6 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +12 -8
- package/dist/index.es.js +122 -121
- package/dist/index.es.js.map +1 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("realgrid"),r=require("vue");function f(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const m=f(w),C=t=>t.replace(/-./g,e=>e[1].toUpperCase()),$=t=>t.charAt(0).toUpperCase()+t.slice(1),s=(t,e="")=>{const n={};for(let i in t)n[C(e?`${e}-${i}`:i)]=r.toRaw(t[i]);return n},p=(t,e={},n={})=>{t=t||{};const i=["children"];for(const[o,a]of Object.entries(e))if(!i.includes(o))if(!n.hasOwnProperty(o))t[o]=null;else if(Array.isArray(a))(!n[o]||JSON.stringify(a)!=JSON.stringify(n[o]))&&(t[o]=n[o]);else if(a instanceof Object&&!(a instanceof Date||Array.isArray(a)||typeof a=="function"))if(!(n[o]instanceof Object))t[o]=n[o];else{const d=p({},a,n[o]);d&&Object.keys(d).length>0&&(t[o]=d)}else a!==n[o]&&(t[o]=n[o]);for(const[o,a]of Object.entries(n))i.includes(o)||e.hasOwnProperty(o)||(t[o]=a);return t},y=(t,e,n)=>{for(const[i,o]of Object.entries(n))i&&typeof o=="function"&&i.startsWith("on")&&(i==="onRowInserting"?t.onRowInserting=o:i==="onDataRowInserting"?e.onRowInserting=o:(t.hasOwnProperty(i)&&(t[i]=o),e.hasOwnProperty(i)&&(e[i]=o)))},F=()=>r.defineComponent({name:"RealGridBase",props:{disabled:Boolean,gridProps:Object,dataProps:Object,locale:Object,autoGenerateField:Boolean,rows:Array,rowStyleCallback:Function,cellStyleCallback:Function,layout:Array,onInitialized:Function,onDestroy:Function,onCurrentChanging:Function,onCurrentChanged:Function,onCurrentRowChanged:Function,onValidateColumn:Function,onValidateRow:Function,onValidationFail:Function,onColumnCheckedChanged:Function,onMenuItemClicked:Function,onContextMenuPopup:Function,onContextMenuItemClicked:Function,onCellButtonClicked:Function,onScrollToBottom:Function,onTopIndexChanged:Function,onTopIndexChanging:Function,onLeftPosChanged:Function,onRowsDeleting:Function,onRowInserting:Function,onSelectionCleared:Function,onSelectionChanged:Function,onSelectionAdded:Function,onSelectionEnded:Function,onShowEditor:Function,onShowEditCommand:Function,onHideEditor:Function,onEditChange:Function,onGetEditValue:Function,onEditCommit:Function,onEditCanceled:Function,onItemEditCanceled:Function,onItemEditCancel:Function,onEditSearch:Function,onSearchCellButtonClick:Function,onCellEdited:Function,onEditRowChanged:Function,onEditRowPasted:Function,onRowsPasted:Function,onCellPasting:Function,onItemChecked:Function,onItemAllChecked:Function,onErrorClicked:Function,onSorting:Function,onSortingChanged:Function,onFiltering:Function,onFilteringChanged:Function,onWheel:Function,onKeyDown:Function,onKeyPress:Function,onKeyUp:Function,onShowTooltip:Function,onShowHeaderTooltip:Function,onColumnPropertyChanged:Function,onLayoutPropertyChanged:Function,onGridActivated:Function,onCopy:Function,onPaste:Function,onPasted:Function,onItemsChecked:Function,onCellClicked:Function,onCellDblClicked:Function,onCellItemClicked:Function,onCommandStackChanged:Function,onDataLoadComplated:Function,onLayoutExpanding:Function,onLayoutExpanded:Function,onLayoutCollapsing:Function,onLayoutCollapsed:Function,onGridFocusChanged:Function},data(){return{$dataProvider:null,$gridView:null,_mountTimer:null,_mountCBs:[]}},mounted(){const t=this.$el,e=s(this.$props);if(this.$listeners){for(const[o,a]of Object.entries(this.$listeners))if(o&&typeof a=="function")if(o==="row-inserting")e.onRowInserting=a;else if(o==="data-row-inserting")e.onDataRowInserting=a;else{const d="on"+$(C(o));e.hasOwnProperty(d)&&(e[d]=a)}}const{grid:n,dataProvider:i}=this._createGrid(t,e);this.$dataProvider=i,this.$gridView=n,this.executeCB(),y(n,i,e),this._applyOptions(e),e.layout&&n.setColumnLayout(e.layout),this._doInitProc(n,e),this._setData(e)},computed:{dataProvider:{get(){return this.$data.$dataProvider},set(t){this.$dataProvider=t}},gridView:{get(){return this.$data.$gridView},set(t){this.$gridView=t}}},unmounted(){const t=s(this.$props),e=s(this.$attrs,"on"),n=t.onDestroy||e.onDestroy;n&&n(this.gridView),this.gridView=this.gridView&&this.gridView.destroy(),this.dataProvider=this.dataProvider&&this.dataProvider.destroy()},destroyed(){const t=s(this.$props),e=s(this.$attrs,"on"),n=t.onDestroy||e.onDestroy;n&&n(this.gridView),this.gridView=this.gridView&&this.gridView.destroy(),this.dataProvider=this.dataProvider&&this.dataProvider.destroy()},watch:{gridProps:{handler(t,e){const n=p({},e,t);this.gridView&&n&&Object.keys(n).length>0&&this.gridView.setOptions(n)},deep:!0},disabled(t,e){this.gridView&&(this.gridView.disabled=t)},dataProps:{handler(t,e){const n=p({},e,t);this.dataProvider&&n&&Object.keys(n).length>0&&this.dataProvider.setOptions(n)},deep:!0},locale:{handler(t,e){t&&m.default.setLocale(t)}},layout:{handler(t,e){this.gridView&&this.gridView.setColumnLayout(t)},deep:!0}},methods:{addCallback(t){this.$data._mountCBs.push(t),clearTimeout(this.$data._mountTimer);const e=this;this.$data._mountTimer=window.setTimeout(function(){e.executeCB()},20)},removeCallback(t){if(this.$data._mountCBs.indexOf(t)>=0){const e=this.$data._mountCBs.indexOf(t);this.$data._mountCBs.splice(e,1)}},executeCB(){const t=this.$gridView,e=this.$dataProvider;if(!!t&&(clearTimeout(this._mountTimer),t&&t._view)){t.beginUpdate();try{e==null||e.beginUpdate();try{const n=this.$data._mountCBs.sort((i,o)=>(i.$mountSeq==null?-1:i.$mountSeq)-(o.$mountSeq==null?-1:o.$mountSeq));for(;n&&n.length;){const i=n.shift();i==null||i.call(this,t)}}finally{e==null||e.endUpdate()}}finally{t.endUpdate(!0),this.$data._mountTimer=null,this.$data._mountCBs=[]}}},_applyOptions(t){const e=this.$gridView,n=this.$dataProvider;if(e)for(let[i,o]of Object.entries(t))switch(i){case"gridProps":o&&e.setOptions(o);break;case"disabled":e&&(e.disabled=!!o);break;case"dataProps":o&&(n==null||n.setOptions(o));break;case"layout":o&&e&&e.setColumnLayout(o);break;case"rowStyleCallback":e.setRowStyleCallback(o);break;case"cellStyleCallback":e.setCellStyleCallback(o);break;case"locale":o&&m.default.setLocale(o);break}this._doApplyOptions(t)},_createGrid(t,e){return{grid:null,dataProvider:null}},_doInitProc(t,e){const n=e.onInitialized;if(n){const i=n.constructor.name;i==="Function"?n(t):i==="AsyncFunction"&&Promise.resolve(n(t))}},_doApplyOptions(t){},_setData(t){}},render(){var a,d;const t=c=>{const l=[];if(Array.isArray(c))for(let h of c)Array.isArray(h.children)?l.push(...t(h.children)):l.push(h);return l},e=[];for(let c of Object.keys(this.$slots)){let l=this.$slots[c];typeof l=="function"&&(l=l()),e.push(...t(l))}let n=0;for(let c=0;c<e.length;c++){const l=e[c];if(l.type instanceof Object&&l.type.hasOwnProperty("name")){const h=l.type.name;h&&/^RG.+Column$/.exec(h)&&(l.props=l.props||{},l.props&&((d=(a=l.props).displayIndex)!=null||(a.displayIndex=n++)))}l.$mountSeq=c}const i=this.$attrs.style?this.$attrs.style:{width:"100%",height:"100%"};return r.h("div",{style:i},e)}}),R=r.defineComponent({name:"RealGridVue",extends:F(),props:{accessibility:Boolean,waiOptions:Object,onPageChanging:Function,onPageChanged:Function,onPageCountChanged:Function,onGrouping:Function,onGrouped:Function,onExpanding:Function,onExpanded:Function,onCollapsing:Function,onCollapsed:Function,onRowCountChanged:Function,onRowUpdating:Function,onRowUpdated:Function,onRowsUpdated:Function,onRowListUpdated:Function,onDataRowInserting:Function,onRowInserted:Function,onRowsInserted:Function,onRowDeleting:Function,onRowDeleted:Function,onRowsDeleted:Function,onRowMoving:Function,onRowMoved:Function,onRowsMoving:Function,onRowsMoved:Function,onRowListMoving:Function,onRowListMoved:Function,onValueChanged:Function,onDataChanged:Function,onRowStateChanged:Function,onRowStatesChanged:Function,onRowStatesCleared:Function,onRestoreRows:Function},data(){return{$dataProvider:null,$gridView:null}},watch:{rows:{handler(t,e){var n;if(this.$data._mountTimer!=null){const i=()=>{r.nextTick(()=>{var o;(o=this.$dataProvider)==null||o.setRows(t)})};i.$mountSeq=1/0,this.addCallback(i)}else(n=this.$dataProvider)==null||n.setRows(t)}}},methods:{_createGrid(t,e){var o;const n=new m.default.GridView(t,e==null?void 0:e.accessibility,e==null?void 0:e.waiOptions),i=new m.default.LocalDataProvider((o=e.dataProps)==null?void 0:o.undoable);return n.setDataSource(i),{grid:n,dataProvider:i}},_doApplyOptions(t){},_setData(t){var e;t.rows&&((e=this.$dataProvider)==null||e.setRows(t.rows))}}}),g=r.defineComponent({name:"RealTreeVue",extends:F(),props:{treeOptions:Object,treeField:String,needSorting:Boolean,childrenField:String,iconField:String,json:Object,rowsProp:String,childrenProp:String,iconProp:String,onTreeItemExpanding:Function,onTreeItemExpanded:Function,onTreeItemCollapsing:Function,onTreeItemCollapsed:Function,onTreeItemChanged:Function,onRowCountChanged:Function,onRowAdding:Function,onRowAdded:Function,onRowsAdded:Function,onRowDeleting:Function,onRowDeleted:Function,onRowsDeleted:Function,onRowUpdating:Function,onRowUpdated:Function,onRowsUpdating:Function,onRowsUpdated:Function,onValueChanged:Function,onDataChanged:Function,onRowStateChanged:Function,onRowStatesChanged:Function,onRowSiblingMoving:Function,onRowSiblingMoved:Function,onRowsSiblingMoving:Function,onRowsSiblingMoved:Function,onRowParentChanging:Function,onRowParentChanged:Function},data(){return{$gridView:null,$dataProvider:null}},computed:{gridView:{get(){return this.$data.$gridView},set(t){this.$gridView=t}},dataProvider:{get(){return this.$data.$dataProvider},set(t){this.$dataProvider=t}}},methods:{_createGrid(t,e){var o;const n=new m.TreeView(t),i=new m.LocalTreeDataProvider((o=e.dataProps)==null?void 0:o.undoable);return n.setDataSource(i),{grid:n,dataProvider:i}},_doApplyOptions(t){var e;for(const[n,i]of Object.entries(t))switch(n){case"treeOptions":i&&((e=this.$gridView)==null||e.setTreeOptions(i));break}},_setData(t){var e,n;t.rows?(e=this.$dataProvider)==null||e.setRows(t.rows,this.treeField,this.needSorting,this.childrenField,this.iconField):t.json&&((n=this.$dataProvider)==null||n.setObjectRows(t.json,this.rowsProp,this.childrenProp,this.iconProp))}},watch:{rows:{handler(t,e){var n;if(this.$data._mountTimer!=null){const i=()=>{r.nextTick(()=>{var o;(o=this.$dataProvider)==null||o.setRows(t,this.treeField,this.needSorting,this.childrenField,this.iconField)})};i.$mountSeq=1/0,this.addCallback(i)}else(n=this.$dataProvider)==null||n.setRows(t,this.treeField,this.needSorting,this.childrenField,this.iconField)}},json:{handler(t,e){var n;if(this.$data._mountTimer!=null){const i=()=>{r.nextTick(()=>{var o;(o=this.$dataProvider)==null||o.setObjectRows(t,this.rowsProp,this.childrenProp,this.iconProp)})};i.$mountSeq=1/0,this.addCallback(i)}else(n=this.$dataProvider)==null||n.setObjectRows(t,this.rowsProp,this.childrenProp,this.iconProp)}}}}),u=r.defineComponent({name:"ComponentBase",props:{},data(){return{$model:null,$oldValue:null}},mounted(){const t=this.$parent;t&&(this.$oldValue=s(this.$attrs),this.mountCB.$mountSeq=this._vnode.$mountSeq,t.addCallback(this.mountCB))},unmounted(){const t=this.$parent;t&&(t.removeCallback(this.mountCB),t.addCallback(this.unmountCB))},destroyed(){const t=this.$parent;t&&(t.removeCallback(this.mountCB),t.addCallback(this.unmountCB))},watch:{$attrs:{handler(t,e){var o;const n=s(t),i=p({},s(this.$data.$oldValue),s(t));if(i&&Object.keys(i).length>0){const a=(o=this.$data)==null?void 0:o.$model;a&&a.assignFrom(n),this._doWatchAttrs(i),this.$oldValue=n}},deep:!0}},methods:{mountCB(){},unmountCB(){},_doWatchAttrs(t){}},render(){}}),P=r.defineComponent({name:"RGSeriesColumn",extends:u,data(){return{}},props:{},methods:{mountCB(t){var n,i;if(s((n=this.$parent)==null?void 0:n.$attrs)){const o=s(this.$attrs);t&&(this.$model=t.addColumn({...o,type:"series"},(i=o.displayIndex)!=null?i:-1))}},unmountCB(t){this.$data.$model&&t.removeColumn(this.$model.name)},_doWatchAttrs(t){if(t.hasOwnProperty("width")&&!isNaN(t.width)){const n=this.$data.$model.layout;n&&(n.cellWidth=t.width)}}}}),S=r.defineComponent({name:"RGStateBar",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setStateBar(s(this.$attrs)),this.$model=t.stateBar}}}),b=r.defineComponent({name:"RGRowIndicator",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setRowIndicator(s(this.$attrs)),this.$model=t.rowIndicator}}}),G=r.defineComponent({name:"RGHeaderSummaries",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setHeaderSummaries(s(this.$attrs)),this.$model=t.headerSummaries}}}),k=r.defineComponent({name:"RGHeaderSummary",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setHeaderSummary(s(this.$attrs)),this.$model=t.headerSummary}}}),v=r.defineComponent({name:"RGHeader",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setHeader(s(this.$attrs)),this.$model=t.header}}}),B=r.defineComponent({name:"RGGroupPanel",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setGroupPanel(s(this.$attrs)),this.$model=t.groupPanel}}}),O=r.defineComponent({name:"RGFooter",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setFooter(s(this.$attrs)),this.$model=t.footer}}}),V=r.defineComponent({name:"RGFooters",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setFooters(s(this.$attrs)),this.$model=t.footer}}}),_=r.defineComponent({name:"RGFilterPanel",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setFilterPanel(s(this.$attrs)),this.$model=t.filterPanel}}}),x=r.defineComponent({name:"RGDataField",extends:u,props:{},data(){return{}},methods:{mountCB(t){const e=s(this.$attrs);if(e.fieldName){const n=t.getDataSource();n.fieldByName(e.fieldName)||(this.$model=n.addField(e,!0))}},unmountDB(t){this.$model&&t.getDataSource().removeField(this.$model)}}}),D=r.defineComponent({name:"RGDataColumn",extends:u,data(){return{}},props:{},methods:{mountCB(t){var n,i;const e=s((n=this.$parent)==null?void 0:n.$props);if(e){const o=e.autoGenerateField,a=t==null?void 0:t.getDataSource(),d=s(this.$attrs);let c=d.fieldName;o&&(!c&&d.field&&(c=d.field.fieldName),a&&!a.fieldByName(c)&&a.addField(d.field||c)),t&&(this.$model=t.addColumn({...d,fieldName:c},(i=d.displayIndex)!=null?i:-1))}},unmountCB(t){var n;this.$data.$model&&t.removeColumn(this.$data.$model.name);const e=s((n=this.$parent)==null?void 0:n.$props);if(e){const i=e.autoGenerateField,o=t==null?void 0:t.getDataSource(),a=s(this.$attrs);let d=a.fieldName;i&&(!d&&a.field&&(d=a.field.fieldName),t.columnByField(d)||o.removeField(d))}},_doWatchAttrs(t){if(t.hasOwnProperty("width")&&!isNaN(t.width)){const n=this.$data.$model.layout;n&&(n.cellWidth=t.width)}}}}),I=r.defineComponent({name:"RGLiteralColumn",extends:u,data(){return{}},props:{},methods:{mountCB(t){var n,i;if(s((n=this.$parent)==null?void 0:n.$attrs)){const o=s(this.$attrs);t&&(this.$model=t.addColumn({...o,type:"literal"},(i=o.displayIndex)!=null?i:-1))}},unmountCB(t){this.$data.$model&&t.removeColumn(this.$model.name)},_doWatchAttrs(t){if(t.hasOwnProperty("width")&&!isNaN(t.width)){const n=this.$data.$model.layout;n&&(n.cellWidth=t.width)}}}}),T=r.defineComponent({name:"RGCheckBar",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setCheckBar(s(this.$attrs)),this.$model=t.checkBar}}});exports.RGCheckBar=T;exports.RGDataColumn=D;exports.RGDataField=x;exports.RGFilterPanel=_;exports.RGFooter=O;exports.RGFooters=V;exports.RGGroupPanel=B;exports.RGHeader=v;exports.RGHeaderSummaries=G;exports.RGHeaderSummary=k;exports.RGLiteralColumn=I;exports.RGRowIndicator=b;exports.RGSeriesColumn=P;exports.RGStateBar=S;exports.RealGridVue=R;exports.RealTreeVue=g;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("realgrid"),r=require("vue");function f(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const m=f(w),C=t=>t.replace(/-./g,e=>e[1].toUpperCase()),$=t=>t.charAt(0).toUpperCase()+t.slice(1),s=(t,e="")=>{const n={};for(let i in t)n[C(e?`${e}-${i}`:i)]=r.toRaw(t[i]);return n},p=(t,e={},n={})=>{t=t||{};const i=["children"];for(const[o,a]of Object.entries(e))if(!i.includes(o))if(!n.hasOwnProperty(o))t[o]=null;else if(Array.isArray(a))(!n[o]||JSON.stringify(a)!=JSON.stringify(n[o]))&&(t[o]=n[o]);else if(a instanceof Object&&!(a instanceof Date||Array.isArray(a)||typeof a=="function"))if(!(n[o]instanceof Object))t[o]=n[o];else{const d=p({},a,n[o]);d&&Object.keys(d).length>0&&(t[o]=d)}else a!==n[o]&&(t[o]=n[o]);for(const[o,a]of Object.entries(n))i.includes(o)||e.hasOwnProperty(o)||(t[o]=a);return t},y=(t,e,n)=>{for(const[i,o]of Object.entries(n))i&&typeof o=="function"&&i.startsWith("on")&&(i==="onRowInserting"?t.onRowInserting=o:i==="onDataRowInserting"?e.onRowInserting=o:(t.hasOwnProperty(i)&&(t[i]=o),e.hasOwnProperty(i)&&(e[i]=o)))},F=()=>r.defineComponent({name:"RealGridBase",props:{disabled:Boolean,gridProps:Object,dataProps:Object,locale:Object,autoGenerateField:Boolean,rows:Array,rowStyleCallback:Function,cellStyleCallback:Function,layout:Array,onInitialized:Function,onDestroy:Function,onCurrentChanging:Function,onCurrentChanged:Function,onCurrentRowChanged:Function,onValidateColumn:Function,onValidateRow:Function,onValidationFail:Function,onColumnCheckedChanged:Function,onMenuItemClicked:Function,onContextMenuPopup:Function,onContextMenuItemClicked:Function,onCellButtonClicked:Function,onScrollToBottom:Function,onTopIndexChanged:Function,onTopIndexChanging:Function,onLeftPosChanged:Function,onRowsDeleting:Function,onRowInserting:Function,onSelectionCleared:Function,onSelectionChanged:Function,onSelectionAdded:Function,onSelectionEnded:Function,onShowEditor:Function,onShowEditCommand:Function,onHideEditor:Function,onEditChange:Function,onGetEditValue:Function,onEditCommit:Function,onEditCanceled:Function,onItemEditCanceled:Function,onItemEditCancel:Function,onEditSearch:Function,onSearchCellButtonClick:Function,onCellEdited:Function,onEditRowChanged:Function,onEditRowPasted:Function,onRowsPasted:Function,onCellPasting:Function,onItemChecked:Function,onItemAllChecked:Function,onErrorClicked:Function,onSorting:Function,onSortingChanged:Function,onFiltering:Function,onFilteringChanged:Function,onWheel:Function,onKeyDown:Function,onKeyPress:Function,onKeyUp:Function,onShowRowBarTooltip:Function,onShowTooltip:Function,onShowHeaderTooltip:Function,onColumnPropertyChanged:Function,onLayoutPropertyChanged:Function,onGridActivated:Function,onCopy:Function,onPaste:Function,onPasted:Function,onItemsChecked:Function,onCellClicked:Function,onCellDblClicked:Function,onCellItemClicked:Function,onCommandStackChanged:Function,onDataLoadComplated:Function,onLayoutExpanding:Function,onLayoutExpanded:Function,onLayoutCollapsing:Function,onLayoutCollapsed:Function,onGridFocusChanged:Function},data(){return{$dataProvider:null,$gridView:null,_mountTimer:null,_mountCBs:[]}},mounted(){const t=this.$el,e=s(this.$props);if(this.$listeners){for(const[o,a]of Object.entries(this.$listeners))if(o&&typeof a=="function")if(o==="row-inserting")e.onRowInserting=a;else if(o==="data-row-inserting")e.onDataRowInserting=a;else{const d="on"+$(C(o));e.hasOwnProperty(d)&&(e[d]=a)}}const{grid:n,dataProvider:i}=this._createGrid(t,e);this.$dataProvider=i,this.$gridView=n,this.executeCB(),y(n,i,e),this._applyOptions(e),e.layout&&n.setColumnLayout(e.layout),this._doInitProc(n,e),this._setData(e)},computed:{dataProvider:{get(){return this.$data.$dataProvider},set(t){this.$dataProvider=t}},gridView:{get(){return this.$data.$gridView},set(t){this.$gridView=t}}},unmounted(){const t=s(this.$props),e=s(this.$attrs,"on"),n=t.onDestroy||e.onDestroy;n&&n(this.gridView),this.gridView=this.gridView&&this.gridView.destroy(),this.dataProvider=this.dataProvider&&this.dataProvider.destroy()},destroyed(){const t=s(this.$props),e=s(this.$attrs,"on"),n=t.onDestroy||e.onDestroy;n&&n(this.gridView),this.gridView=this.gridView&&this.gridView.destroy(),this.dataProvider=this.dataProvider&&this.dataProvider.destroy()},watch:{gridProps:{handler(t,e){const n=p({},e,t);this.gridView&&n&&Object.keys(n).length>0&&this.gridView.setOptions(n)},deep:!0},disabled(t,e){this.gridView&&(this.gridView.disabled=t)},dataProps:{handler(t,e){const n=p({},e,t);this.dataProvider&&n&&Object.keys(n).length>0&&this.dataProvider.setOptions(n)},deep:!0},locale:{handler(t,e){t&&m.default.setLocale(t)}},layout:{handler(t,e){this.gridView&&this.gridView.setColumnLayout(t)},deep:!0}},methods:{addCallback(t){this.$data._mountCBs.push(t),clearTimeout(this.$data._mountTimer);const e=this;this.$data._mountTimer=window.setTimeout(function(){e.executeCB()},20)},removeCallback(t){if(this.$data._mountCBs.indexOf(t)>=0){const e=this.$data._mountCBs.indexOf(t);this.$data._mountCBs.splice(e,1)}},executeCB(){const t=this.$gridView,e=this.$dataProvider;if(!!t&&(clearTimeout(this._mountTimer),t&&t._view)){t.beginUpdate();try{e==null||e.beginUpdate();try{const n=this.$data._mountCBs.sort((i,o)=>(i.$mountSeq==null?-1:i.$mountSeq)-(o.$mountSeq==null?-1:o.$mountSeq));for(;n&&n.length;){const i=n.shift();i==null||i.call(this,t)}}finally{e==null||e.endUpdate()}}finally{t.endUpdate(!0),this.$data._mountTimer=null,this.$data._mountCBs=[]}}},_applyOptions(t){const e=this.$gridView,n=this.$dataProvider;if(e)for(let[i,o]of Object.entries(t))switch(i){case"gridProps":o&&e.setOptions(o);break;case"disabled":e&&(e.disabled=!!o);break;case"dataProps":o&&(n==null||n.setOptions(o));break;case"layout":o&&e&&e.setColumnLayout(o);break;case"rowStyleCallback":e.setRowStyleCallback(o);break;case"cellStyleCallback":e.setCellStyleCallback(o);break;case"locale":o&&m.default.setLocale(o);break}this._doApplyOptions(t)},_createGrid(t,e){return{grid:null,dataProvider:null}},_doInitProc(t,e){const n=e.onInitialized;if(n){const i=n.constructor.name;i==="Function"?n(t):i==="AsyncFunction"&&Promise.resolve(n(t))}},_doApplyOptions(t){},_setData(t){}},render(){var a,d;const t=c=>{const l=[];if(Array.isArray(c))for(let h of c)Array.isArray(h.children)?l.push(...t(h.children)):l.push(h);return l},e=[];for(let c of Object.keys(this.$slots)){let l=this.$slots[c];typeof l=="function"&&(l=l()),e.push(...t(l))}let n=0;for(let c=0;c<e.length;c++){const l=e[c];if(l.type instanceof Object&&l.type.hasOwnProperty("name")){const h=l.type.name;h&&/^RG.+Column$/.exec(h)&&(l.props=l.props||{},l.props&&((d=(a=l.props).displayIndex)!=null||(a.displayIndex=n++)))}l.$mountSeq=c}const i=this.$attrs.style?this.$attrs.style:{width:"100%",height:"100%"};return r.h("div",{style:i},e)}}),R=r.defineComponent({name:"RealGridVue",extends:F(),props:{accessibility:Boolean,waiOptions:Object,onPageChanging:Function,onPageChanged:Function,onPageCountChanged:Function,onGrouping:Function,onGrouped:Function,onExpanding:Function,onExpanded:Function,onCollapsing:Function,onCollapsed:Function,onRowCountChanged:Function,onRowUpdating:Function,onRowUpdated:Function,onRowsUpdated:Function,onRowListUpdated:Function,onDataRowInserting:Function,onRowInserted:Function,onRowsInserted:Function,onRowDeleting:Function,onRowDeleted:Function,onRowsDeleted:Function,onRowMoving:Function,onRowMoved:Function,onRowsMoving:Function,onRowsMoved:Function,onRowListMoving:Function,onRowListMoved:Function,onValueChanged:Function,onDataChanged:Function,onRowStateChanged:Function,onRowStatesChanged:Function,onRowStatesCleared:Function,onRestoreRows:Function},data(){return{$dataProvider:null,$gridView:null}},watch:{rows:{handler(t,e){var n;if(this.$data._mountTimer!=null){const i=()=>{r.nextTick(()=>{var o;(o=this.$dataProvider)==null||o.setRows(t)})};i.$mountSeq=1/0,this.addCallback(i)}else(n=this.$dataProvider)==null||n.setRows(t)}}},methods:{_createGrid(t,e){var o;const n=new m.default.GridView(t,e==null?void 0:e.accessibility,e==null?void 0:e.waiOptions),i=new m.default.LocalDataProvider((o=e.dataProps)==null?void 0:o.undoable);return n.setDataSource(i),{grid:n,dataProvider:i}},_doApplyOptions(t){},_setData(t){var e;t.rows&&((e=this.$dataProvider)==null||e.setRows(t.rows))}}}),g=r.defineComponent({name:"RealTreeVue",extends:F(),props:{treeOptions:Object,treeField:String,needSorting:Boolean,childrenField:String,iconField:String,json:Object,rowsProp:String,childrenProp:String,iconProp:String,onTreeItemExpanding:Function,onTreeItemExpanded:Function,onTreeItemCollapsing:Function,onTreeItemCollapsed:Function,onTreeItemChanged:Function,onRowCountChanged:Function,onRowAdding:Function,onRowAdded:Function,onRowsAdded:Function,onRowDeleting:Function,onRowDeleted:Function,onRowsDeleted:Function,onRowUpdating:Function,onRowUpdated:Function,onRowsUpdating:Function,onRowsUpdated:Function,onValueChanged:Function,onDataChanged:Function,onRowStateChanged:Function,onRowStatesChanged:Function,onRowSiblingMoving:Function,onRowSiblingMoved:Function,onRowsSiblingMoving:Function,onRowsSiblingMoved:Function,onRowParentChanging:Function,onRowParentChanged:Function},data(){return{$gridView:null,$dataProvider:null}},computed:{gridView:{get(){return this.$data.$gridView},set(t){this.$gridView=t}},dataProvider:{get(){return this.$data.$dataProvider},set(t){this.$dataProvider=t}}},methods:{_createGrid(t,e){var o;const n=new m.TreeView(t),i=new m.LocalTreeDataProvider((o=e.dataProps)==null?void 0:o.undoable);return n.setDataSource(i),{grid:n,dataProvider:i}},_doApplyOptions(t){var e;for(const[n,i]of Object.entries(t))switch(n){case"treeOptions":i&&((e=this.$gridView)==null||e.setTreeOptions(i));break}},_setData(t){var e,n;t.rows?(e=this.$dataProvider)==null||e.setRows(t.rows,this.treeField,this.needSorting,this.childrenField,this.iconField):t.json&&((n=this.$dataProvider)==null||n.setObjectRows(t.json,this.rowsProp,this.childrenProp,this.iconProp))}},watch:{rows:{handler(t,e){var n;if(this.$data._mountTimer!=null){const i=()=>{r.nextTick(()=>{var o;(o=this.$dataProvider)==null||o.setRows(t,this.treeField,this.needSorting,this.childrenField,this.iconField)})};i.$mountSeq=1/0,this.addCallback(i)}else(n=this.$dataProvider)==null||n.setRows(t,this.treeField,this.needSorting,this.childrenField,this.iconField)}},json:{handler(t,e){var n;if(this.$data._mountTimer!=null){const i=()=>{r.nextTick(()=>{var o;(o=this.$dataProvider)==null||o.setObjectRows(t,this.rowsProp,this.childrenProp,this.iconProp)})};i.$mountSeq=1/0,this.addCallback(i)}else(n=this.$dataProvider)==null||n.setObjectRows(t,this.rowsProp,this.childrenProp,this.iconProp)}}}}),u=r.defineComponent({name:"ComponentBase",props:{},data(){return{$model:null,$oldValue:null}},mounted(){const t=this.$parent;t&&(this.$oldValue=s(this.$attrs),this.mountCB.$mountSeq=this._vnode.$mountSeq,t.addCallback(this.mountCB))},unmounted(){const t=this.$parent;t&&(t.removeCallback(this.mountCB),t.addCallback(this.unmountCB))},destroyed(){const t=this.$parent;t&&(t.removeCallback(this.mountCB),t.addCallback(this.unmountCB))},watch:{$attrs:{handler(t,e){var o;const n=s(t),i=p({},s(this.$data.$oldValue),s(t));if(i&&Object.keys(i).length>0){const a=(o=this.$data)==null?void 0:o.$model;a&&a.assignFrom(n),this._doWatchAttrs(i),this.$oldValue=n}},deep:!0}},methods:{mountCB(){},unmountCB(){},_doWatchAttrs(t){}},render(){}}),P=r.defineComponent({name:"RGSeriesColumn",extends:u,data(){return{}},props:{},methods:{mountCB(t){var n,i;if(s((n=this.$parent)==null?void 0:n.$attrs)){const o=s(this.$attrs);t&&(this.$model=t.addColumn({...o,type:"series"},(i=o.displayIndex)!=null?i:-1))}},unmountCB(t){this.$data.$model&&t.removeColumn(this.$model.name)},_doWatchAttrs(t){if(t.hasOwnProperty("width")&&!isNaN(t.width)){const n=this.$data.$model.layout;n&&(n.cellWidth=t.width)}}}}),S=r.defineComponent({name:"RGStateBar",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setStateBar(s(this.$attrs)),this.$model=t.stateBar}}}),b=r.defineComponent({name:"RGRowIndicator",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setRowIndicator(s(this.$attrs)),this.$model=t.rowIndicator}}}),G=r.defineComponent({name:"RGHeaderSummaries",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setHeaderSummaries(s(this.$attrs)),this.$model=t.headerSummaries}}}),k=r.defineComponent({name:"RGHeaderSummary",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setHeaderSummary(s(this.$attrs)),this.$model=t.headerSummary}}}),B=r.defineComponent({name:"RGHeader",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setHeader(s(this.$attrs)),this.$model=t.header}}}),v=r.defineComponent({name:"RGGroupPanel",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setGroupPanel(s(this.$attrs)),this.$model=t.groupPanel}}}),O=r.defineComponent({name:"RGFooter",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setFooter(s(this.$attrs)),this.$model=t.footer}}}),V=r.defineComponent({name:"RGFooters",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setFooters(s(this.$attrs)),this.$model=t.footer}}}),_=r.defineComponent({name:"RGFilterPanel",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setFilterPanel(s(this.$attrs)),this.$model=t.filterPanel}}}),x=r.defineComponent({name:"RGDataField",extends:u,props:{},data(){return{}},methods:{mountCB(t){const e=s(this.$attrs);if(e.fieldName){const n=t.getDataSource();n.fieldByName(e.fieldName)||(this.$model=n.addField(e,!0))}},unmountDB(t){this.$model&&t.getDataSource().removeField(this.$model)}}}),D=r.defineComponent({name:"RGDataColumn",extends:u,data(){return{}},props:{},methods:{mountCB(t){var n,i;const e=s((n=this.$parent)==null?void 0:n.$props);if(e){const o=e.autoGenerateField,a=t==null?void 0:t.getDataSource(),d=s(this.$attrs);let c=d.fieldName;o&&(!c&&d.field&&(c=d.field.fieldName),a&&!a.fieldByName(c)&&a.addField(d.field||c)),t&&(this.$model=t.addColumn({...d,fieldName:c},(i=d.displayIndex)!=null?i:-1))}},unmountCB(t){var n;this.$data.$model&&t.removeColumn(this.$data.$model.name);const e=s((n=this.$parent)==null?void 0:n.$props);if(e){const i=e.autoGenerateField,o=t==null?void 0:t.getDataSource(),a=s(this.$attrs);let d=a.fieldName;i&&(!d&&a.field&&(d=a.field.fieldName),t.columnByField(d)||o.removeField(d))}},_doWatchAttrs(t){if(t.hasOwnProperty("width")&&!isNaN(t.width)){const n=this.$data.$model.layout;n&&(n.cellWidth=t.width)}}}}),I=r.defineComponent({name:"RGLiteralColumn",extends:u,data(){return{}},props:{},methods:{mountCB(t){var n,i;if(s((n=this.$parent)==null?void 0:n.$attrs)){const o=s(this.$attrs);t&&(this.$model=t.addColumn({...o,type:"literal"},(i=o.displayIndex)!=null?i:-1))}},unmountCB(t){this.$data.$model&&t.removeColumn(this.$model.name)},_doWatchAttrs(t){if(t.hasOwnProperty("width")&&!isNaN(t.width)){const n=this.$data.$model.layout;n&&(n.cellWidth=t.width)}}}}),T=r.defineComponent({name:"RGCheckBar",extends:u,props:{},data(){return{}},methods:{mountCB(t){t.setCheckBar(s(this.$attrs)),this.$model=t.checkBar}}});exports.RGCheckBar=T;exports.RGDataColumn=D;exports.RGDataField=x;exports.RGFilterPanel=_;exports.RGFooter=O;exports.RGFooters=V;exports.RGGroupPanel=v;exports.RGHeader=B;exports.RGHeaderSummaries=G;exports.RGHeaderSummary=k;exports.RGLiteralColumn=I;exports.RGRowIndicator=b;exports.RGSeriesColumn=P;exports.RGStateBar=S;exports.RealGridVue=R;exports.RealTreeVue=g;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/Utils.ts","../src/RealGridBase.ts","../src/ComponentBase.ts","../src/RGComponents/RGSeriesColumn.ts","../src/RGComponents/RGStateBar.ts","../src/RGComponents/RGRowIndicator.ts","../src/RGComponents/RGHeaderSummaries.ts","../src/RGComponents/RGHeaderSummary.ts","../src/RGComponents/RGHeader.ts","../src/RGComponents/RGGroupPanel.ts","../src/RGComponents/RGFooter.ts","../src/RGComponents/RGFooters.ts","../src/RGComponents/RGFilterPanel.ts","../src/RGComponents/RGDataField.ts","../src/RGComponents/RGDataColumn.ts","../src/RGComponents/RGLiteralColumn.ts","../src/RGComponents/RGCheckBar.ts"],"sourcesContent":["import * as RealGrid from 'realgrid'\nimport { toRaw } from 'vue'\n\nexport const camelize = (s: string) => s.replace(/-./g, (x) => x[1].toUpperCase())\nexport const pascalize = (s: string) => s.charAt(0).toUpperCase() + s.slice(1);\nexport const kebabToCamel = (obj: { [key: string]: any }, prefix: string = '') => {\n const ret: { [key: string]: any } = {}\n for (let key in obj) {\n ret[camelize(prefix ? `${prefix}-${key}` : key)] = toRaw(obj[key])\n }\n return ret\n}\nexport const deepMerge = (target: any, ...sources: any[]) => {\n sources.forEach((src) => {\n for (const key in src) {\n if (key === 'children') {\n continue\n }\n // undefined, object, boolean, number, string, function\n const value = src[key]\n if (value === null) {\n target[key] = null\n } else if (value === undefined) {\n delete target[key]\n } else if (Array.isArray(value)) {\n // deepCopy하는 방법 구현 필요.\n target[key] = [...value]\n } else if (typeof value === 'object') {\n if (value instanceof Date) {\n target[key] = new Date(value)\n } else {\n target[key] = deepMerge(target[key] == null ? {} : target[key], value)\n }\n } else {\n target[key] = value\n }\n }\n })\n return target\n}\n\nexport const extractDiff = (target: any, origin: any = {}, diff: any = {}): any => {\n target = target || {}\n const exceptKey = ['children']\n for (const [key, value] of Object.entries(origin)) {\n if (exceptKey.includes(key)) {\n continue\n }\n if (!diff.hasOwnProperty(key)) {\n target[key] = null\n } else if (Array.isArray(value)) {\n if (!diff[key] || JSON.stringify(value) != JSON.stringify(diff[key])) {\n target[key] = diff[key]\n }\n } else if (value instanceof Object && !(value instanceof Date || Array.isArray(value) || typeof value === 'function')) {\n if (!(diff[key] instanceof Object)) {\n target[key] = diff[key]\n } else {\n const dif = extractDiff({}, value, diff[key] as Object)\n if (dif && Object.keys(dif).length > 0) {\n target[key] = dif\n }\n }\n } else if (value !== diff[key]) {\n target[key] = diff[key]\n }\n }\n // props의 경우 origin에 없으면 없는것이다...\n for (const [key, value] of Object.entries(diff)) {\n if (exceptKey.includes(key)) {\n continue\n }\n if (!origin.hasOwnProperty(key)) {\n target[key] = value\n }\n }\n return target\n}\n\n\n\nexport const $_connectEvents = (grid: RealGrid.GridBase, provider: RealGrid.DataProviderBase, props: Object): void => {\n for (const [key, value] of Object.entries(props)) {\n if (key && typeof value === 'function' && key.startsWith('on')) { \n if (key === 'onRowInserting') {\n grid.onRowInserting = value\n } else if (key === 'onDataRowInserting') {\n //@ts-ignore\n provider.onRowInserting = value\n } else {\n //@ts-ignore\n grid.hasOwnProperty(key) && (grid[key] = value)\n //@ts-ignore\n provider.hasOwnProperty(key) && (provider[key] = value)\n }\n }\n }\n}","import * as RealGrid from 'realgrid'\nimport { GridOptions, GridType, Omits, ProviderType } from './Types'\nimport { $_connectEvents, camelize, extractDiff, kebabToCamel, pascalize } from './Utils'\nimport { PropType, VNode, defineComponent, h, nextTick} from 'vue'\n\nconst RealGridBase = <T>() => {\n return defineComponent({\n name: 'RealGridBase',\n props: {\n disabled: Boolean,\n gridProps: Object as PropType<GridOptions<T>>,\n dataProps: Object as PropType<RealGrid.DataOptions>,\n locale: Object as PropType<Partial<RealGrid.RealGridLocale>>,\n autoGenerateField: Boolean,\n rows: Array as PropType<RealGrid.DataValues[]>,\n rowStyleCallback: Function as PropType<RealGrid.RowStyleCallback>,\n cellStyleCallback: Function as PropType<RealGrid.CellStyleCallback>,\n layout: Array as PropType<(string | RealGrid.CellLayoutGroupItem | RealGrid.CellLayoutColumnItem)[]>,\n onInitialized: Function as PropType<(grid: GridType<T>) => void>,\n onDestroy: Function as PropType<(grid: GridType<T>) => void>,\n onCurrentChanging: Function as PropType<(grid: GridType<T>, oldIndex: RealGrid.CellIndex, newIndex: RealGrid.CellIndex) => boolean>,\n onCurrentChanged: Function as PropType<(grid: GridType<T>, newIndex: RealGrid.CellIndex) => void>,\n onCurrentRowChanged: Function as PropType<(grid: GridType<T>, oldRow: number, newRow: number) => void>,\n onValidateColumn: Function as PropType<(grid: GridType<T>, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined>,\n onValidateRow: Function as PropType<(grid: GridType<T>, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError>,\n onValidationFail: Function as PropType<(grid: GridType<T>, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError>,\n onColumnCheckedChanged: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, checked: boolean) => void>,\n onMenuItemClicked: Function as PropType<(grid: GridType<T>, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>,\n onContextMenuPopup: Function as PropType<(grid: GridType<T>, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string>,\n onContextMenuItemClicked: Function as PropType<(grid: GridType<T>, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>,\n onCellButtonClicked: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, column: RealGrid.GridColumn) => void>,\n onScrollToBottom: Function as PropType<(grid: GridType<T>) => void>,\n onTopIndexChanged: Function as PropType<(grid: GridType<T>, itemIndex: number) => void>,\n onTopIndexChanging: Function as PropType<(grid: GridType<T>, currentTop: number, delta: number, focusing: boolean, adjust: boolean) => number>,\n onLeftPosChanged: Function as PropType<(grid: GridType<T>, pos: number) => void>,\n onRowsDeleting: Function as PropType<(grid: GridType<T>, rows: number[]) => boolean>,\n onRowInserting: Function as PropType<(grid: GridType<T>, itemIndex: number, dataRow: number) => boolean>,\n onSelectionCleared: Function as PropType<(grid: GridType<T>) => void>,\n onSelectionChanged: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection) => void>,\n onSelectionAdded: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection) => void>,\n onSelectionEnded: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection) => void>,\n onShowEditor: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, props: any, attrs: any) => boolean>,\n onShowEditCommand: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex) => boolean>,\n onHideEditor: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex) => void>,\n onEditChange: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, value: any) => void>,\n onGetEditValue: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, editResult: Object) => void | boolean>,\n onEditCommit: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, oldValue: any, newValue: any) => boolean>,\n onEditCanceled: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex) => void>,\n onItemEditCanceled: Function as PropType<(grid: GridType<T>, itemIndex: number, state: string) => void>,\n onItemEditCancel: Function as PropType<(grid: GridType<T>, itemIndex: number, state: string) => boolean>,\n onEditSearch: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, text: string) => void>,\n onSearchCellButtonClick: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, text: string) => void>,\n onCellEdited: Function as PropType<(grid: GridType<T>, itemIndex: number, row: number, field: number) => void>,\n onEditRowChanged: Function as PropType<(grid: GridType<T>, itemIndex: number, row: number, field: number, oldValue: any, newValue: any) => void>,\n onEditRowPasted: Function as PropType<(grid: GridType<T>, itemIndex: number, row: number, fields: number[], oldValues: any[], newValues: any[]) => void>,\n onRowsPasted: Function as PropType<(grid: GridType<T>, items: number[]) => void>,\n onCellPasting: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, value: any, editResult: RealGrid.EditResult) => boolean>,\n onItemChecked: Function as PropType<(grid: GridType<T>, itemIndex: number, checked: boolean) => void>,\n onItemAllChecked: Function as PropType<(grid: GridType<T>, checked: boolean) => void>,\n onErrorClicked: Function as PropType<(grid: GridType<T>, error: string) => void>,\n onSorting: Function as PropType<(grid: GridType<T>, fields: number[], directions: string[]) => boolean>,\n onSortingChanged: Function as PropType<(grid: GridType<T>) => void>,\n onFiltering: Function as PropType<(grid: GridType<T>) => boolean>,\n onFilteringChanged: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, filter: RealGrid.ColumnFilter, reset: boolean) => void>,\n onWheel: Function as PropType<(grid: GridType<T>, event: WheelEvent) => boolean>,\n onKeyDown: Function as PropType<(grid: GridType<T>, event: KeyboardEvent) => boolean>,\n onKeyPress: Function as PropType<(grid: GridType<T>, event: KeyboardEvent) => void>,\n onKeyUp: Function as PropType<(grid: GridType<T>, event: KeyboardEvent) => void>,\n onShowTooltip: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, value: any, isEllipsis: boolean) => boolean | string>,\n onShowHeaderTooltip: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem, isEllipsis: boolean) => string>,\n onColumnPropertyChanged: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void>,\n onLayoutPropertyChanged: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void>,\n onGridActivated: Function as PropType<(grid: GridType<T>) => void>,\n onCopy: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection | RealGrid.Selection[], event: ClipboardEvent) => boolean>,\n onPaste: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, event: ClipboardEvent) => boolean>,\n onPasted: Function as PropType<(grid: GridType<T>) => void>,\n onItemsChecked: Function as PropType<(grid: GridType<T>, items: number[], checked: boolean) => void>,\n onCellClicked: Function as PropType<(grid: GridType<T>, clickData: RealGrid.ClickData) => void>,\n onCellDblClicked: Function as PropType<(grid: GridType<T>, clickData: RealGrid.ClickData) => void>,\n onCellItemClicked: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, clickData: RealGrid.ClickData) => boolean>,\n onCommandStackChanged: Function as PropType<(grid: GridType<T>, undoable: boolean, redoable: boolean) => void>,\n onDataLoadComplated: Function as PropType<(grid: GridType<T>) => void>,\n onLayoutExpanding: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => boolean>,\n onLayoutExpanded: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => void>,\n onLayoutCollapsing: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => boolean>,\n onLayoutCollapsed: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => void>,\n onGridFocusChanged: Function as PropType<(grid: GridType<T>, focused: boolean, event: Event) => void>\n },\n data() {\n return {\n $dataProvider: null as RealGrid.DataProviderBase | null,\n $gridView: null as RealGrid.GridBase | null,\n _mountTimer: null as number | null,\n _mountCBs: [] as Function[],\n }\n },\n mounted() {\n const container = this.$el as HTMLDivElement\n const props = kebabToCamel(this.$props) as any\n if (this.$listeners) {\n for (const [key, value] of Object.entries(this.$listeners)) {\n if (key && typeof value === 'function') {\n if (key === 'row-inserting') {\n props.onRowInserting = value as (grid: RealGrid.GridBase, itemIndex: number, dataRow: number) => boolean\n } else if (key === 'data-row-inserting') {\n //@ts-ignore\n props.onDataRowInserting = value\n } else {\n const eventName = 'on' + pascalize(camelize(key))\n //@ts-ignore\n props.hasOwnProperty(eventName) && (props[eventName] = value)\n }\n }\n }\n }\n const { grid, dataProvider } = this._createGrid(container, props)\n this.$dataProvider = dataProvider\n this.$gridView = grid\n this.executeCB()\n $_connectEvents(grid, dataProvider, props)\n this._applyOptions(props)\n\n if (props.layout) {\n grid.setColumnLayout(props.layout)\n }\n\n this._doInitProc(grid, props)\n this._setData(props)\n },\n computed: {\n dataProvider: {\n get(): ProviderType<T> {\n return this.$data.$dataProvider as unknown as ProviderType<T>\n },\n set(value: ProviderType<T>) {\n this.$dataProvider = value\n },\n },\n gridView: {\n get(): GridType<T> {\n return this.$data.$gridView as unknown as GridType<T>\n },\n set(value: GridType<T>) {\n this.$gridView = value\n },\n },\n },\n unmounted() {\n const props = kebabToCamel(this.$props) as any\n const listener = kebabToCamel(this.$attrs, 'on') as any\n\n const destroyProc = props.onDestroy || listener.onDestroy\n destroyProc && destroyProc(this.gridView)\n this.gridView = this.gridView && this.gridView.destroy()\n this.dataProvider = this.dataProvider && this.dataProvider.destroy()\n },\n destroyed() {\n const props = kebabToCamel(this.$props) as any\n const listener = kebabToCamel(this.$attrs, 'on') as any\n\n const destroyProc = props.onDestroy || listener.onDestroy\n destroyProc && destroyProc(this.gridView)\n this.gridView = this.gridView && this.gridView.destroy()\n this.dataProvider = this.dataProvider && this.dataProvider.destroy()\n },\n watch: {\n gridProps: {\n handler(val, oldVal) {\n const diff = extractDiff({}, oldVal, val)\n if (this.gridView && diff && Object.keys(diff).length > 0) {\n this.gridView.setOptions(diff)\n }\n },\n deep: true,\n },\n disabled(val, oldVal) {\n this.gridView && (this.gridView.disabled = val)\n },\n dataProps: {\n handler(val, oldVal) {\n const diff = extractDiff({}, oldVal, val)\n if (this.dataProvider && diff && Object.keys(diff).length > 0) {\n this.dataProvider.setOptions(diff)\n }\n },\n deep: true,\n },\n locale: {\n handler(val, oldVal) {\n val && RealGrid.default.setLocale(val)\n },\n },\n layout: {\n handler(val, oldVal) {\n this.gridView && this.gridView.setColumnLayout(val)\n },\n deep: true,\n },\n },\n methods: {\n addCallback(fn: Function) {\n this.$data._mountCBs.push(fn)\n clearTimeout(this.$data._mountTimer!)\n const self = this\n this.$data._mountTimer = window.setTimeout(function () {\n self.executeCB()\n }, 20)\n },\n removeCallback(fn: Function) {\n if (this.$data._mountCBs.indexOf(fn) >= 0) {\n const idx = this.$data._mountCBs.indexOf(fn)\n this.$data._mountCBs.splice(idx, 1)\n }\n },\n executeCB() {\n const gridView = this.$gridView\n const dataProvider = this.$dataProvider\n if (!gridView) {\n return\n }\n clearTimeout(this._mountTimer!)\n //@ts-ignore\n if (gridView && gridView['_view']) {\n gridView.beginUpdate()\n try {\n dataProvider?.beginUpdate()\n try {\n const cbs = this.$data._mountCBs.sort((v1: any, v2: any) => {\n return (v1.$mountSeq == null ? -1 : v1.$mountSeq) - (v2.$mountSeq == null ? -1 : v2.$mountSeq)\n })\n while (cbs && cbs.length) {\n const f = cbs.shift()\n f?.call(this, gridView)\n }\n } finally {\n dataProvider?.endUpdate()\n }\n } finally {\n gridView.endUpdate(true)\n this.$data._mountTimer = null\n this.$data._mountCBs = []\n }\n }\n },\n _applyOptions(options: any) {\n const grid = this.$gridView\n const dataProvider = this.$dataProvider\n if (grid) {\n for (let [key, value] of Object.entries(options)) {\n switch (key) {\n case 'gridProps':\n value && grid.setOptions(value as RealGrid.ViewOptions)\n break\n case 'disabled':\n grid && (grid.disabled = !!value)\n break\n case 'dataProps':\n value && dataProvider?.setOptions(value as RealGrid.DataOptions)\n break\n case 'layout':\n value && grid && grid.setColumnLayout(value as any)\n break\n case 'rowStyleCallback':\n grid.setRowStyleCallback(value as RealGrid.RowStyleCallback)\n break\n case 'cellStyleCallback':\n grid.setCellStyleCallback(value as RealGrid.CellStyleCallback)\n break\n case 'locale':\n value && RealGrid.default.setLocale(value as RealGrid.RealGridLocale)\n break\n }\n }\n }\n this._doApplyOptions(options)\n },\n _createGrid(container: HTMLDivElement, props: any): { grid: GridType<T>; dataProvider: ProviderType<T> } {\n return {\n grid: null as unknown as GridType<T>,\n dataProvider: null as unknown as ProviderType<T>,\n }\n },\n _doInitProc(grid: RealGrid.GridBase, props: any) {\n const initProc = props.onInitialized\n if (initProc) {\n const fType = initProc.constructor.name\n if (fType === 'Function') {\n initProc(grid)\n } else if (fType === 'AsyncFunction') {\n Promise.resolve(initProc(grid))\n }\n }\n },\n _doApplyOptions(options: any) {},\n _setData(rows: any) {},\n },\n render() {\n const parseChild = (vNodes: any[]): VNode[] => {\n const child = []\n if (Array.isArray(vNodes)) {\n for (let vNode of vNodes) {\n if (Array.isArray(vNode.children)) {\n child.push(...parseChild(vNode.children))\n } else {\n child.push(vNode)\n }\n }\n }\n return child\n }\n const children = []\n for (let key of Object.keys(this.$slots)) {\n let vNodes: any = this.$slots[key]\n if (typeof vNodes === 'function') {\n vNodes = vNodes()\n }\n children.push(...parseChild(vNodes))\n }\n let displayIndex = 0\n for (let i = 0; i < children.length; i++) {\n const child = children[i]\n // @ts-ignore\n if (child.type instanceof Object && child.type.hasOwnProperty('name')) {\n // @ts-ignore\n const name = child.type.name\n if (name && /^RG.+Column$/.exec(name)) {\n // @ts-ignore\n child.props = child.props || {}\n // @ts-ignore\n child.props && (child.props.displayIndex ??= displayIndex++)\n }\n }\n //@ts-ignore\n child.$mountSeq = i\n }\n const style = this.$attrs.style ? this.$attrs.style : { width: '100%', height: '100%' }\n const node = h('div', { style }, children)\n\n return node\n },\n })\n}\n\nconst RealGridVue = defineComponent({\n name: 'RealGridVue',\n extends: RealGridBase<RealGrid.GridView>(),\n props: {\n accessibility: Boolean,\n waiOptions: Object as PropType<RealGrid.WaiOptions>,\n\n onPageChanging: Function as PropType<(grid: RealGrid.GridView, page: number) => boolean>,\n onPageChanged: Function as PropType<(grid: RealGrid.GridView, page: number) => void>,\n onPageCountChanged: Function as PropType<(grid: RealGrid.GridView, pageCount: number) => void>,\n onGrouping: Function as PropType<(grid: RealGrid.GridView, fields: number[]) => boolean>,\n onGrouped: Function as PropType<(grid: RealGrid.GridView) => void>,\n onExpanding: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => boolean>,\n onExpanded: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => void>,\n onCollapsing: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => boolean>,\n onCollapsed: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => void>,\n\n // dataProvider\n onRowCountChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, newCount: number) => void>,\n onRowUpdating: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, oldValues: RealGrid.RowValues, newValues: RealGrid.RowValues) => boolean>,\n onRowUpdated: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowsUpdated: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number) => void>,\n onRowListUpdated: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n onDataRowInserting: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, values: RealGrid.DataValues) => boolean>,\n onRowInserted: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowsInserted: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number) => void>,\n onRowDeleting: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => boolean>,\n onRowDeleted: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowsDeleted: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n onRowMoving: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, newRow: number) => boolean>,\n onRowMoved: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, newRow: number) => void>,\n onRowsMoving: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number, newRow: number) => boolean>,\n onRowsMoved: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number, newRow: number) => void>,\n onRowListMoving: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[], newRow: number) => boolean>,\n onRowListMoved: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[], newRow: number) => void>,\n onValueChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, field: number) => void>,\n onDataChanged: Function as PropType<(provider: RealGrid.LocalDataProvider) => void>,\n onRowStateChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowStatesChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n onRowStatesCleared: Function as PropType<(provider: RealGrid.LocalDataProvider) => void>,\n onRestoreRows: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n },\n data() {\n return {\n $dataProvider: null as RealGrid.LocalDataProvider | null,\n $gridView: null as RealGrid.GridView | null,\n }\n },\n\n watch: {\n rows: {\n handler(val, oldVal) {\n if (this.$data._mountTimer != null) {\n const callback = () => {\n nextTick(() => {\n this.$dataProvider?.setRows(val)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.$dataProvider?.setRows(val)\n }\n },\n // immediate 절대 사용금지.\n },\n },\n methods: {\n _createGrid(container: HTMLDivElement, props: any) {\n const grid = new RealGrid.default.GridView(container, props?.accessibility, props?.waiOptions)\n const dataProvider = new RealGrid.default.LocalDataProvider(props.dataProps?.undoable)\n grid.setDataSource(dataProvider)\n return {\n grid,\n dataProvider,\n }\n },\n _doApplyOptions(options: { [key: string]: any }) {},\n _setData(options: { [key: string]: any }) {\n if (options.rows) {\n this.$dataProvider?.setRows(options.rows)\n }\n },\n },\n})\n\nconst RealTreeVue = defineComponent({\n name: 'RealTreeVue',\n extends: RealGridBase<RealGrid.TreeView>(),\n props: {\n treeOptions: Object as PropType<RealGrid.TreeOptions>,\n treeField: String,\n needSorting: Boolean,\n childrenField: String,\n iconField: String,\n json: Object as PropType<any>,\n rowsProp: String,\n childrenProp: String,\n iconProp: String,\n onTreeItemExpanding: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => boolean>,\n onTreeItemExpanded: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n onTreeItemCollapsing: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n onTreeItemCollapsed: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n onTreeItemChanged: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n\n // dataProvider\n onRowCountChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, newCount: number) => void>,\n onRowAdding: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, index: number, child: any) => boolean>,\n onRowAdded: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowsAdded: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, parent: number, rows: number[]) => void>,\n onRowDeleting: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => boolean>,\n onRowDeleted: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowsDeleted: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void>,\n onRowUpdating: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, oldValues: RealGrid.RowValues, newValues: RealGrid.RowValues) => boolean>,\n onRowUpdated: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowsUpdating: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => boolean>,\n onRowsUpdated: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void>,\n onValueChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, field: number) => void>,\n onDataChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider) => void>,\n onRowStateChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowStatesChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void>,\n onRowSiblingMoving: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, offset: number) => boolean>,\n onRowSiblingMoved: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, offset: number) => void>,\n onRowsSiblingMoving: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[], offset: number) => boolean>,\n onRowsSiblingMoved: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[], offset: number) => void>,\n onRowParentChanging: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, parent: number, index: number) => boolean>,\n onRowParentChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, parent: number, index: number) => void>,\n },\n data() {\n return {\n $gridView: null as RealGrid.TreeView | null,\n $dataProvider: null as RealGrid.LocalTreeDataProvider | null,\n }\n },\n computed: {\n gridView: {\n get() {\n return this.$data.$gridView\n },\n set(value: RealGrid.TreeView) {\n this.$gridView = value\n },\n },\n dataProvider: {\n get() {\n return this.$data.$dataProvider\n },\n set(value: RealGrid.LocalTreeDataProvider) {\n this.$dataProvider = value\n },\n },\n },\n methods: {\n _createGrid(container: HTMLDivElement, props: any) {\n const grid = new RealGrid.TreeView(container)\n const dataProvider = new RealGrid.LocalTreeDataProvider(props.dataProps?.undoable)\n grid.setDataSource(dataProvider)\n return {\n grid,\n dataProvider,\n }\n },\n _doApplyOptions(options: { [key: string]: any }) {\n for (const [key, value] of Object.entries(options)) {\n switch (key) {\n case 'treeOptions':\n value && this.$gridView?.setTreeOptions(value)\n break\n }\n }\n },\n _setData(options: { [key: string]: any }) {\n if (options.rows) {\n this.$dataProvider?.setRows(options.rows, this.treeField as string, this.needSorting, this.childrenField, this.iconField)\n } else if (options.json) {\n this.$dataProvider?.setObjectRows(options.json, this.rowsProp as string, this.childrenProp, this.iconProp)\n }\n },\n },\n watch: {\n rows: {\n handler(val, oldVal) {\n if (this.$data._mountTimer != null) {\n const callback = () => {\n nextTick(() => {\n this.$dataProvider?.setRows(val, this.treeField!, this.needSorting, this.childrenField, this.iconField)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.$dataProvider?.setRows(val, this.treeField!, this.needSorting, this.childrenField, this.iconField)\n }\n },\n },\n json: {\n handler(val, oldVal) {\n if (this.$data._mountTimer != null) {\n const callback = () => {\n nextTick(() => {\n this.$dataProvider?.setObjectRows(val, this.rowsProp!, this.childrenProp, this.iconProp)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.$dataProvider?.setObjectRows(val, this.rowsProp!, this.childrenProp, this.iconProp)\n }\n },\n },\n },\n})\n\ntype RealGridVue = Omit<InstanceType<typeof RealGridVue>, Omits>\ntype RealTreeVue = Omit<InstanceType<typeof RealTreeVue>, Omits>\n\nexport { RealGridVue, RealTreeVue }\n","import { ConfigObject } from 'realgrid'\nimport { IComponentBase, IModel, IRealBaseVue } from './Types'\nimport { extractDiff, kebabToCamel } from './Utils'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\n\nexport const ComponentBase = defineComponent({\n name: 'ComponentBase',\n props: {} as ComponentPropsOptions & IComponentBase,\n data() {\n return {\n $model: null as IModel | null,\n $oldValue: null as any | null,\n }\n },\n mounted() {\n const p: IRealBaseVue = this.$parent as IRealBaseVue\n if (p) {\n this.$oldValue = kebabToCamel(this.$attrs)\n //@ts-ignore\n this.mountCB.$mountSeq = this._vnode.$mountSeq\n p.addCallback(this.mountCB)\n }\n },\n unmounted() {\n const p: IRealBaseVue = this.$parent as IRealBaseVue\n if (p) {\n p.removeCallback(this.mountCB)\n p.addCallback(this.unmountCB)\n }\n },\n destroyed() {\n const p: IRealBaseVue = this.$parent as IRealBaseVue\n if (p) {\n p.removeCallback(this.mountCB)\n p.addCallback(this.unmountCB)\n }\n },\n watch: {\n $attrs: {\n handler(val, oldVal) {\n const value = kebabToCamel(val)\n const diff: ConfigObject = extractDiff({}, kebabToCamel(this.$data.$oldValue), kebabToCamel(val))\n if (diff && Object.keys(diff).length > 0) {\n const model = this.$data?.$model\n model && model.assignFrom(value)\n this._doWatchAttrs(diff)\n this.$oldValue = value\n }\n },\n deep: true,\n },\n },\n methods: {\n mountCB() {},\n unmountCB() {},\n _doWatchAttrs(diff: ConfigObject) {},\n },\n render() {\n // return h(\"\");\n },\n})\n\nexport default ComponentBase\n","import ComponentBase from '../ComponentBase'\nimport { ConfigObject, IRealGridSeriesColumn, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGSeriesColumn = defineComponent({\n name: \"RGSeriesColumn\",\n extends: ComponentBase,\n data() {\n return {\n }\n },\n props: {\n } as (ComponentPropsOptions & IRealGridSeriesColumn),\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const pAttrs = kebabToCamel(this.$parent?.$attrs!);\n if (pAttrs) {\n const props = kebabToCamel(this.$attrs);\n if (grid) {\n this.$model = grid.addColumn({...props, type:\"series\"}, props.displayIndex??-1);\n }; \n }\n },\n unmountCB(grid: RealGrid.GridBase) {\n \n if (this.$data.$model) {\n grid.removeColumn(this.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = this.$data.$model as RealGrid.GridColumn;\n const layout = column.layout;\n if (layout) {\n layout.cellWidth = diff.width;\n }\n }\n } \n }\n});\ntype RGSeriesColumn = Omit<InstanceType<typeof RGSeriesColumn>, Omits>;\nexport default RGSeriesColumn\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridStateBar, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGStateBar = defineComponent({\n name: \"RGStateBar\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridStateBar),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setStateBar(kebabToCamel(this.$attrs));\n this.$model = grid.stateBar;\n },\n }\n});\ntype RGStateBar = Omit<InstanceType<typeof RGStateBar>, Omits>;\nexport default RGStateBar\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridRowIndicator, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGRowIndicator = defineComponent({\n name: \"RGRowIndicator\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridRowIndicator),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setRowIndicator(kebabToCamel(this.$attrs));\n this.$model = grid.rowIndicator;\n },\n }\n})\ntype RGRowIndicator = Omit<InstanceType<typeof RGRowIndicator>, Omits>;\nexport default RGRowIndicator\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridheaderSummaries, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\nconst RGHeaderSummaries = defineComponent({\n name: 'RGHeaderSummaries',\n extends: ComponentBase,\n props: {} as ComponentPropsOptions & IRealGridheaderSummaries,\n data() {\n return {}\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setHeaderSummaries(kebabToCamel(this.$attrs))\n this.$model = grid.headerSummaries\n },\n },\n})\ntype RGHeaderSummaries = Omit<InstanceType<typeof RGHeaderSummaries>, Omits>;\nexport default RGHeaderSummaries\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridHeaderSummary, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\nconst RGHeaderSummary = defineComponent({\n name: 'RGHeaderSummary',\n extends: ComponentBase,\n props: {} as ComponentPropsOptions & IRealGridHeaderSummary,\n data() {\n return {}\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setHeaderSummary(kebabToCamel(this.$attrs))\n this.$model = grid.headerSummary\n },\n },\n})\ntype RGHeaderSummary = Omit<InstanceType<typeof RGHeaderSummary>, Omits>;\nexport default RGHeaderSummary\n","import ComponentBase from \"../ComponentBase\";\nimport { IRealGridHeader, Omits } from \"../Types\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\n\nconst RGHeader = defineComponent({\n name: \"RGHeader\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridHeader),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setHeader(kebabToCamel(this.$attrs));\n this.$model = grid.header;\n },\n }\n});\ntype RGHeader = Omit<InstanceType<typeof RGHeader>, Omits>;\nexport default RGHeader;","import ComponentBase from '../ComponentBase'\nimport { IRealGridGroupPanel, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGGroupPanel = defineComponent({\n name: \"RGGroupPanel\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridGroupPanel),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridView) {\n grid.setGroupPanel(kebabToCamel(this.$attrs));\n this.$model = grid.groupPanel;\n },\n }\n});\n\ntype RGGroupPanel = Omit<InstanceType<typeof RGGroupPanel>, Omits>;\n\nexport default RGGroupPanel\n","import ComponentBase from \"../ComponentBase\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\nimport { IRealGridFooters, Omits } from \"../Types\";\n\n\nconst RGFooter = defineComponent({\n name: \"RGFooter\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridFooters),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setFooter(kebabToCamel(this.$attrs));\n this.$model = grid.footer;\n },\n }\n});\n\ntype RGFooter = Omit<InstanceType<typeof RGFooter>, Omits>;\n\nexport default RGFooter;","import ComponentBase from \"../ComponentBase\";\nimport { IRealGridFooter, Omits } from \"../Types\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\nconst RGFooters = defineComponent({\n name: \"RGFooters\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridFooter),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setFooters(kebabToCamel(this.$attrs));\n this.$model = grid.footer;\n },\n }\n});\n\ntype RGFooters = Omit<InstanceType<typeof RGFooters>, Omits>;\n\nexport default RGFooters;","import ComponentBase from '../ComponentBase'\nimport { IRealGridFilterPanel, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGFilterPanel = defineComponent({\n name: \"RGFilterPanel\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridFilterPanel),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setFilterPanel(kebabToCamel(this.$attrs));\n this.$model = grid.filterPanel;\n },\n }\n});\n\ntype RGFilterPanel = Omit<InstanceType<typeof RGFilterPanel>, Omits>;\n\nexport default RGFilterPanel\n","import ComponentBase from \"../ComponentBase\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\nimport { IRealGridDataField, Omits } from \"../Types\";\n\nconst RGDataField = defineComponent({\n name: \"RGDataField\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridDataField),\n data() {\n return {\n\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const attrs = kebabToCamel(this.$attrs);\n if (attrs.fieldName) {\n const dp = grid.getDataSource();\n const field = dp.fieldByName(attrs.fieldName);\n if (!field) {\n this.$model = dp.addField(attrs, true);\n }\n }\n },\n unmountDB(grid: RealGrid.GridBase) {\n if (this.$model) {\n const dp = grid.getDataSource();\n dp.removeField(this.$model);\n }\n }\n }\n});\n\ntype RGDataField = Omit<InstanceType<typeof RGDataField>, Omits>;\n\nexport default RGDataField;","import ComponentBase from '../ComponentBase'\nimport { ConfigObject, IRGDataColumn, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\n\nconst RGDataColumn = defineComponent({\n name: \"RGDataColumn\",\n extends: ComponentBase,\n data() {\n return {\n }\n },\n\n props: {\n } as (ComponentPropsOptions & IRGDataColumn),\n\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const pAttrs = kebabToCamel(this.$parent?.$props!);\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(this.$attrs);\n let fieldName = props.fieldName;\n if (generateField) {\n if (!fieldName && props.field) {\n fieldName = props.field.fieldName;\n }\n \n if (dp && !dp.fieldByName(fieldName)) {\n dp.addField(props.field || fieldName);\n }\n }\n if (grid) {\n this.$model = grid.addColumn({...props, ...{fieldName}}, props.displayIndex??-1);\n }; \n }\n },\n unmountCB(grid: RealGrid.GridBase) {\n if (this.$data.$model) {\n grid.removeColumn(this.$data.$model.name!);\n }\n const pAttrs = kebabToCamel(this.$parent?.$props!);\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(this.$attrs);\n let fieldName = props.fieldName;\n if (generateField) {\n if (!fieldName && props.field) {\n fieldName = props.field.fieldName;\n }\n if (!grid.columnByField(fieldName)) {\n dp.removeField(fieldName)\n }\n }; \n }\n\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = this.$data.$model as RealGrid.GridColumn;\n const layout = column.layout;\n if (layout) {\n layout.cellWidth = diff.width;\n }\n }\n }\n }\n});\ntype RGDataColumn = Omit<InstanceType<typeof RGDataColumn>, Omits>;\nexport default RGDataColumn\n","import ComponentBase from '../ComponentBase'\nimport { ConfigObject, IRealGridLiteralColumn, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGLiteralColumn = defineComponent({\n name: \"RGLiteralColumn\",\n extends: ComponentBase,\n data() {\n return {\n }\n },\n props: {\n } as (ComponentPropsOptions & IRealGridLiteralColumn),\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const pAttrs = kebabToCamel(this.$parent?.$attrs!);\n if (pAttrs) {\n const props = kebabToCamel(this.$attrs);\n if (grid) {\n this.$model = grid.addColumn({...props, type:\"literal\"}, props.displayIndex??-1);\n }; \n }\n },\n unmountCB(grid: RealGrid.GridBase) {\n \n if (this.$data.$model) {\n grid.removeColumn(this.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = this.$data.$model as RealGrid.GridColumn;\n const layout = column.layout;\n if (layout) {\n layout.cellWidth = diff.width;\n }\n }\n } \n }\n});\ntype RGLiteralColumn = Omit<InstanceType<typeof RGLiteralColumn>, Omits>;\nexport default RGLiteralColumn\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridCheckBar, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGCheckBar = defineComponent({\n name: \"RGCheckBar\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridCheckBar),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setCheckBar(kebabToCamel(this.$attrs));\n this.$model = grid.checkBar;\n },\n }\n})\n\ntype RGCheckBar = Omit<InstanceType<typeof RGCheckBar>, Omits>;\nexport default RGCheckBar\n"],"names":["camelize","s","x","pascalize","kebabToCamel","obj","prefix","ret","key","toRaw","extractDiff","target","origin","diff","exceptKey","value","dif","$_connectEvents","grid","provider","props","RealGridBase","defineComponent","container","eventName","dataProvider","listener","destroyProc","val","oldVal","RealGrid","fn","self","idx","gridView","cbs","v1","v2","f","options","initProc","fType","rows","parseChild","vNodes","child","vNode","children","displayIndex","i","name","_b","_a","style","h","RealGridVue","callback","nextTick","RealTreeVue","ComponentBase","p","model","RGSeriesColumn","layout","RGStateBar","RGRowIndicator","RGHeaderSummaries","RGHeaderSummary","RGHeader","RGGroupPanel","RGFooter","RGFooters","RGFilterPanel","RGDataField","attrs","dp","RGDataColumn","pAttrs","generateField","fieldName","RGLiteralColumn","RGCheckBar"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -176,8 +176,9 @@ export declare const RealGridVue: DefineComponent<{
|
|
|
176
176
|
onKeyDown: PropType<(grid: RealGrid.GridView, event: KeyboardEvent) => boolean>;
|
|
177
177
|
onKeyPress: PropType<(grid: RealGrid.GridView, event: KeyboardEvent) => void>;
|
|
178
178
|
onKeyUp: PropType<(grid: RealGrid.GridView, event: KeyboardEvent) => void>;
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
onShowRowBarTooltip: PropType<(grid: RealGrid.GridView, cellType: RealGrid.GridCellType, itemIndex: number, dataRow: number) => string | RealGrid.TooltipOptions>;
|
|
180
|
+
onShowTooltip: PropType<(grid: RealGrid.GridView, index: RealGrid.CellIndex, value: any, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
181
|
+
onShowHeaderTooltip: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
181
182
|
onColumnPropertyChanged: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void>;
|
|
182
183
|
onLayoutPropertyChanged: PropType<(grid: RealGrid.GridView, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void>;
|
|
183
184
|
onGridActivated: PropType<(grid: RealGrid.GridView) => void>;
|
|
@@ -281,8 +282,9 @@ export declare const RealGridVue: DefineComponent<{
|
|
|
281
282
|
onKeyDown: PropType<(grid: RealGrid.GridView, event: KeyboardEvent) => boolean>;
|
|
282
283
|
onKeyPress: PropType<(grid: RealGrid.GridView, event: KeyboardEvent) => void>;
|
|
283
284
|
onKeyUp: PropType<(grid: RealGrid.GridView, event: KeyboardEvent) => void>;
|
|
284
|
-
|
|
285
|
-
|
|
285
|
+
onShowRowBarTooltip: PropType<(grid: RealGrid.GridView, cellType: RealGrid.GridCellType, itemIndex: number, dataRow: number) => string | RealGrid.TooltipOptions>;
|
|
286
|
+
onShowTooltip: PropType<(grid: RealGrid.GridView, index: RealGrid.CellIndex, value: any, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
287
|
+
onShowHeaderTooltip: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
286
288
|
onColumnPropertyChanged: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void>;
|
|
287
289
|
onLayoutPropertyChanged: PropType<(grid: RealGrid.GridView, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void>;
|
|
288
290
|
onGridActivated: PropType<(grid: RealGrid.GridView) => void>;
|
|
@@ -463,8 +465,9 @@ export declare const RealTreeVue: DefineComponent<{
|
|
|
463
465
|
onKeyDown: PropType<(grid: RealGrid.TreeView, event: KeyboardEvent) => boolean>;
|
|
464
466
|
onKeyPress: PropType<(grid: RealGrid.TreeView, event: KeyboardEvent) => void>;
|
|
465
467
|
onKeyUp: PropType<(grid: RealGrid.TreeView, event: KeyboardEvent) => void>;
|
|
466
|
-
|
|
467
|
-
|
|
468
|
+
onShowRowBarTooltip: PropType<(grid: RealGrid.TreeView, cellType: RealGrid.GridCellType, itemIndex: number, dataRow: number) => string | RealGrid.TooltipOptions>;
|
|
469
|
+
onShowTooltip: PropType<(grid: RealGrid.TreeView, index: RealGrid.CellIndex, value: any, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
470
|
+
onShowHeaderTooltip: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
468
471
|
onColumnPropertyChanged: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void>;
|
|
469
472
|
onLayoutPropertyChanged: PropType<(grid: RealGrid.TreeView, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void>;
|
|
470
473
|
onGridActivated: PropType<(grid: RealGrid.TreeView) => void>;
|
|
@@ -568,8 +571,9 @@ export declare const RealTreeVue: DefineComponent<{
|
|
|
568
571
|
onKeyDown: PropType<(grid: RealGrid.TreeView, event: KeyboardEvent) => boolean>;
|
|
569
572
|
onKeyPress: PropType<(grid: RealGrid.TreeView, event: KeyboardEvent) => void>;
|
|
570
573
|
onKeyUp: PropType<(grid: RealGrid.TreeView, event: KeyboardEvent) => void>;
|
|
571
|
-
|
|
572
|
-
|
|
574
|
+
onShowRowBarTooltip: PropType<(grid: RealGrid.TreeView, cellType: RealGrid.GridCellType, itemIndex: number, dataRow: number) => string | RealGrid.TooltipOptions>;
|
|
575
|
+
onShowTooltip: PropType<(grid: RealGrid.TreeView, index: RealGrid.CellIndex, value: any, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
576
|
+
onShowHeaderTooltip: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem, isEllipsis: boolean) => boolean | string | RealGrid.TooltipOptions>;
|
|
573
577
|
onColumnPropertyChanged: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void>;
|
|
574
578
|
onLayoutPropertyChanged: PropType<(grid: RealGrid.TreeView, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void>;
|
|
575
579
|
onGridActivated: PropType<(grid: RealGrid.TreeView) => void>;
|
package/dist/index.es.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import * as m from "realgrid";
|
|
2
2
|
import { toRaw as $, defineComponent as d, h as y, nextTick as F } from "vue";
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const w = (t) => t.replace(/-./g, (n) => n[1].toUpperCase()), f = (t) => t.charAt(0).toUpperCase() + t.slice(1), a = (t, n = "") => {
|
|
4
|
+
const e = {};
|
|
5
5
|
for (let i in t)
|
|
6
|
-
|
|
7
|
-
return
|
|
8
|
-
}, p = (t,
|
|
6
|
+
e[w(n ? `${n}-${i}` : i)] = $(t[i]);
|
|
7
|
+
return e;
|
|
8
|
+
}, p = (t, n = {}, e = {}) => {
|
|
9
9
|
t = t || {};
|
|
10
10
|
const i = ["children"];
|
|
11
|
-
for (const [o, s] of Object.entries(
|
|
11
|
+
for (const [o, s] of Object.entries(n))
|
|
12
12
|
if (!i.includes(o))
|
|
13
|
-
if (!
|
|
13
|
+
if (!e.hasOwnProperty(o))
|
|
14
14
|
t[o] = null;
|
|
15
15
|
else if (Array.isArray(s))
|
|
16
|
-
(!
|
|
16
|
+
(!e[o] || JSON.stringify(s) != JSON.stringify(e[o])) && (t[o] = e[o]);
|
|
17
17
|
else if (s instanceof Object && !(s instanceof Date || Array.isArray(s) || typeof s == "function"))
|
|
18
|
-
if (!(
|
|
19
|
-
t[o] =
|
|
18
|
+
if (!(e[o] instanceof Object))
|
|
19
|
+
t[o] = e[o];
|
|
20
20
|
else {
|
|
21
|
-
const r = p({}, s,
|
|
21
|
+
const r = p({}, s, e[o]);
|
|
22
22
|
r && Object.keys(r).length > 0 && (t[o] = r);
|
|
23
23
|
}
|
|
24
24
|
else
|
|
25
|
-
s !==
|
|
26
|
-
for (const [o, s] of Object.entries(
|
|
27
|
-
i.includes(o) ||
|
|
25
|
+
s !== e[o] && (t[o] = e[o]);
|
|
26
|
+
for (const [o, s] of Object.entries(e))
|
|
27
|
+
i.includes(o) || n.hasOwnProperty(o) || (t[o] = s);
|
|
28
28
|
return t;
|
|
29
|
-
}, g = (t,
|
|
30
|
-
for (const [i, o] of Object.entries(
|
|
31
|
-
i && typeof o == "function" && i.startsWith("on") && (i === "onRowInserting" ? t.onRowInserting = o : i === "onDataRowInserting" ?
|
|
32
|
-
},
|
|
29
|
+
}, g = (t, n, e) => {
|
|
30
|
+
for (const [i, o] of Object.entries(e))
|
|
31
|
+
i && typeof o == "function" && i.startsWith("on") && (i === "onRowInserting" ? t.onRowInserting = o : i === "onDataRowInserting" ? n.onRowInserting = o : (t.hasOwnProperty(i) && (t[i] = o), n.hasOwnProperty(i) && (n[i] = o)));
|
|
32
|
+
}, C = () => d({
|
|
33
33
|
name: "RealGridBase",
|
|
34
34
|
props: {
|
|
35
35
|
disabled: Boolean,
|
|
@@ -91,6 +91,7 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
91
91
|
onKeyDown: Function,
|
|
92
92
|
onKeyPress: Function,
|
|
93
93
|
onKeyUp: Function,
|
|
94
|
+
onShowRowBarTooltip: Function,
|
|
94
95
|
onShowTooltip: Function,
|
|
95
96
|
onShowHeaderTooltip: Function,
|
|
96
97
|
onColumnPropertyChanged: Function,
|
|
@@ -120,21 +121,21 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
120
121
|
};
|
|
121
122
|
},
|
|
122
123
|
mounted() {
|
|
123
|
-
const t = this.$el,
|
|
124
|
+
const t = this.$el, n = a(this.$props);
|
|
124
125
|
if (this.$listeners) {
|
|
125
126
|
for (const [o, s] of Object.entries(this.$listeners))
|
|
126
127
|
if (o && typeof s == "function")
|
|
127
128
|
if (o === "row-inserting")
|
|
128
|
-
|
|
129
|
+
n.onRowInserting = s;
|
|
129
130
|
else if (o === "data-row-inserting")
|
|
130
|
-
|
|
131
|
+
n.onDataRowInserting = s;
|
|
131
132
|
else {
|
|
132
|
-
const r = "on" + f(
|
|
133
|
-
|
|
133
|
+
const r = "on" + f(w(o));
|
|
134
|
+
n.hasOwnProperty(r) && (n[r] = s);
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
|
-
const { grid:
|
|
137
|
-
this.$dataProvider = i, this.$gridView =
|
|
137
|
+
const { grid: e, dataProvider: i } = this._createGrid(t, n);
|
|
138
|
+
this.$dataProvider = i, this.$gridView = e, this.executeCB(), g(e, i, n), this._applyOptions(n), n.layout && e.setColumnLayout(n.layout), this._doInitProc(e, n), this._setData(n);
|
|
138
139
|
},
|
|
139
140
|
computed: {
|
|
140
141
|
dataProvider: {
|
|
@@ -155,38 +156,38 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
155
156
|
}
|
|
156
157
|
},
|
|
157
158
|
unmounted() {
|
|
158
|
-
const t = a(this.$props),
|
|
159
|
-
|
|
159
|
+
const t = a(this.$props), n = a(this.$attrs, "on"), e = t.onDestroy || n.onDestroy;
|
|
160
|
+
e && e(this.gridView), this.gridView = this.gridView && this.gridView.destroy(), this.dataProvider = this.dataProvider && this.dataProvider.destroy();
|
|
160
161
|
},
|
|
161
162
|
destroyed() {
|
|
162
|
-
const t = a(this.$props),
|
|
163
|
-
|
|
163
|
+
const t = a(this.$props), n = a(this.$attrs, "on"), e = t.onDestroy || n.onDestroy;
|
|
164
|
+
e && e(this.gridView), this.gridView = this.gridView && this.gridView.destroy(), this.dataProvider = this.dataProvider && this.dataProvider.destroy();
|
|
164
165
|
},
|
|
165
166
|
watch: {
|
|
166
167
|
gridProps: {
|
|
167
|
-
handler(t,
|
|
168
|
-
const
|
|
169
|
-
this.gridView &&
|
|
168
|
+
handler(t, n) {
|
|
169
|
+
const e = p({}, n, t);
|
|
170
|
+
this.gridView && e && Object.keys(e).length > 0 && this.gridView.setOptions(e);
|
|
170
171
|
},
|
|
171
172
|
deep: !0
|
|
172
173
|
},
|
|
173
|
-
disabled(t,
|
|
174
|
+
disabled(t, n) {
|
|
174
175
|
this.gridView && (this.gridView.disabled = t);
|
|
175
176
|
},
|
|
176
177
|
dataProps: {
|
|
177
|
-
handler(t,
|
|
178
|
-
const
|
|
179
|
-
this.dataProvider &&
|
|
178
|
+
handler(t, n) {
|
|
179
|
+
const e = p({}, n, t);
|
|
180
|
+
this.dataProvider && e && Object.keys(e).length > 0 && this.dataProvider.setOptions(e);
|
|
180
181
|
},
|
|
181
182
|
deep: !0
|
|
182
183
|
},
|
|
183
184
|
locale: {
|
|
184
|
-
handler(t,
|
|
185
|
+
handler(t, n) {
|
|
185
186
|
t && m.default.setLocale(t);
|
|
186
187
|
}
|
|
187
188
|
},
|
|
188
189
|
layout: {
|
|
189
|
-
handler(t,
|
|
190
|
+
handler(t, n) {
|
|
190
191
|
this.gridView && this.gridView.setColumnLayout(t);
|
|
191
192
|
},
|
|
192
193
|
deep: !0
|
|
@@ -195,31 +196,31 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
195
196
|
methods: {
|
|
196
197
|
addCallback(t) {
|
|
197
198
|
this.$data._mountCBs.push(t), clearTimeout(this.$data._mountTimer);
|
|
198
|
-
const
|
|
199
|
+
const n = this;
|
|
199
200
|
this.$data._mountTimer = window.setTimeout(function() {
|
|
200
|
-
|
|
201
|
+
n.executeCB();
|
|
201
202
|
}, 20);
|
|
202
203
|
},
|
|
203
204
|
removeCallback(t) {
|
|
204
205
|
if (this.$data._mountCBs.indexOf(t) >= 0) {
|
|
205
|
-
const
|
|
206
|
-
this.$data._mountCBs.splice(
|
|
206
|
+
const n = this.$data._mountCBs.indexOf(t);
|
|
207
|
+
this.$data._mountCBs.splice(n, 1);
|
|
207
208
|
}
|
|
208
209
|
},
|
|
209
210
|
executeCB() {
|
|
210
|
-
const t = this.$gridView,
|
|
211
|
+
const t = this.$gridView, n = this.$dataProvider;
|
|
211
212
|
if (!!t && (clearTimeout(this._mountTimer), t && t._view)) {
|
|
212
213
|
t.beginUpdate();
|
|
213
214
|
try {
|
|
214
|
-
|
|
215
|
+
n == null || n.beginUpdate();
|
|
215
216
|
try {
|
|
216
|
-
const
|
|
217
|
-
for (;
|
|
218
|
-
const i =
|
|
217
|
+
const e = this.$data._mountCBs.sort((i, o) => (i.$mountSeq == null ? -1 : i.$mountSeq) - (o.$mountSeq == null ? -1 : o.$mountSeq));
|
|
218
|
+
for (; e && e.length; ) {
|
|
219
|
+
const i = e.shift();
|
|
219
220
|
i == null || i.call(this, t);
|
|
220
221
|
}
|
|
221
222
|
} finally {
|
|
222
|
-
|
|
223
|
+
n == null || n.endUpdate();
|
|
223
224
|
}
|
|
224
225
|
} finally {
|
|
225
226
|
t.endUpdate(!0), this.$data._mountTimer = null, this.$data._mountCBs = [];
|
|
@@ -227,27 +228,27 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
227
228
|
}
|
|
228
229
|
},
|
|
229
230
|
_applyOptions(t) {
|
|
230
|
-
const
|
|
231
|
-
if (
|
|
231
|
+
const n = this.$gridView, e = this.$dataProvider;
|
|
232
|
+
if (n)
|
|
232
233
|
for (let [i, o] of Object.entries(t))
|
|
233
234
|
switch (i) {
|
|
234
235
|
case "gridProps":
|
|
235
|
-
o &&
|
|
236
|
+
o && n.setOptions(o);
|
|
236
237
|
break;
|
|
237
238
|
case "disabled":
|
|
238
|
-
|
|
239
|
+
n && (n.disabled = !!o);
|
|
239
240
|
break;
|
|
240
241
|
case "dataProps":
|
|
241
|
-
o && (
|
|
242
|
+
o && (e == null || e.setOptions(o));
|
|
242
243
|
break;
|
|
243
244
|
case "layout":
|
|
244
|
-
o &&
|
|
245
|
+
o && n && n.setColumnLayout(o);
|
|
245
246
|
break;
|
|
246
247
|
case "rowStyleCallback":
|
|
247
|
-
|
|
248
|
+
n.setRowStyleCallback(o);
|
|
248
249
|
break;
|
|
249
250
|
case "cellStyleCallback":
|
|
250
|
-
|
|
251
|
+
n.setCellStyleCallback(o);
|
|
251
252
|
break;
|
|
252
253
|
case "locale":
|
|
253
254
|
o && m.default.setLocale(o);
|
|
@@ -255,17 +256,17 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
255
256
|
}
|
|
256
257
|
this._doApplyOptions(t);
|
|
257
258
|
},
|
|
258
|
-
_createGrid(t,
|
|
259
|
+
_createGrid(t, n) {
|
|
259
260
|
return {
|
|
260
261
|
grid: null,
|
|
261
262
|
dataProvider: null
|
|
262
263
|
};
|
|
263
264
|
},
|
|
264
|
-
_doInitProc(t,
|
|
265
|
-
const
|
|
266
|
-
if (
|
|
267
|
-
const i =
|
|
268
|
-
i === "Function" ?
|
|
265
|
+
_doInitProc(t, n) {
|
|
266
|
+
const e = n.onInitialized;
|
|
267
|
+
if (e) {
|
|
268
|
+
const i = e.constructor.name;
|
|
269
|
+
i === "Function" ? e(t) : i === "AsyncFunction" && Promise.resolve(e(t));
|
|
269
270
|
}
|
|
270
271
|
},
|
|
271
272
|
_doApplyOptions(t) {
|
|
@@ -281,26 +282,26 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
281
282
|
for (let h of c)
|
|
282
283
|
Array.isArray(h.children) ? l.push(...t(h.children)) : l.push(h);
|
|
283
284
|
return l;
|
|
284
|
-
},
|
|
285
|
+
}, n = [];
|
|
285
286
|
for (let c of Object.keys(this.$slots)) {
|
|
286
287
|
let l = this.$slots[c];
|
|
287
|
-
typeof l == "function" && (l = l()),
|
|
288
|
+
typeof l == "function" && (l = l()), n.push(...t(l));
|
|
288
289
|
}
|
|
289
|
-
let
|
|
290
|
-
for (let c = 0; c <
|
|
291
|
-
const l =
|
|
290
|
+
let e = 0;
|
|
291
|
+
for (let c = 0; c < n.length; c++) {
|
|
292
|
+
const l = n[c];
|
|
292
293
|
if (l.type instanceof Object && l.type.hasOwnProperty("name")) {
|
|
293
294
|
const h = l.type.name;
|
|
294
|
-
h && /^RG.+Column$/.exec(h) && (l.props = l.props || {}, l.props && ((r = (s = l.props).displayIndex) != null || (s.displayIndex =
|
|
295
|
+
h && /^RG.+Column$/.exec(h) && (l.props = l.props || {}, l.props && ((r = (s = l.props).displayIndex) != null || (s.displayIndex = e++)));
|
|
295
296
|
}
|
|
296
297
|
l.$mountSeq = c;
|
|
297
298
|
}
|
|
298
299
|
const i = this.$attrs.style ? this.$attrs.style : { width: "100%", height: "100%" };
|
|
299
|
-
return y("div", { style: i },
|
|
300
|
+
return y("div", { style: i }, n);
|
|
300
301
|
}
|
|
301
302
|
}), P = d({
|
|
302
303
|
name: "RealGridVue",
|
|
303
|
-
extends:
|
|
304
|
+
extends: C(),
|
|
304
305
|
props: {
|
|
305
306
|
accessibility: Boolean,
|
|
306
307
|
waiOptions: Object,
|
|
@@ -345,8 +346,8 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
345
346
|
},
|
|
346
347
|
watch: {
|
|
347
348
|
rows: {
|
|
348
|
-
handler(t,
|
|
349
|
-
var
|
|
349
|
+
handler(t, n) {
|
|
350
|
+
var e;
|
|
350
351
|
if (this.$data._mountTimer != null) {
|
|
351
352
|
const i = () => {
|
|
352
353
|
F(() => {
|
|
@@ -356,29 +357,29 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
356
357
|
};
|
|
357
358
|
i.$mountSeq = 1 / 0, this.addCallback(i);
|
|
358
359
|
} else
|
|
359
|
-
(
|
|
360
|
+
(e = this.$dataProvider) == null || e.setRows(t);
|
|
360
361
|
}
|
|
361
362
|
}
|
|
362
363
|
},
|
|
363
364
|
methods: {
|
|
364
|
-
_createGrid(t,
|
|
365
|
+
_createGrid(t, n) {
|
|
365
366
|
var o;
|
|
366
|
-
const
|
|
367
|
-
return
|
|
368
|
-
grid:
|
|
367
|
+
const e = new m.default.GridView(t, n == null ? void 0 : n.accessibility, n == null ? void 0 : n.waiOptions), i = new m.default.LocalDataProvider((o = n.dataProps) == null ? void 0 : o.undoable);
|
|
368
|
+
return e.setDataSource(i), {
|
|
369
|
+
grid: e,
|
|
369
370
|
dataProvider: i
|
|
370
371
|
};
|
|
371
372
|
},
|
|
372
373
|
_doApplyOptions(t) {
|
|
373
374
|
},
|
|
374
375
|
_setData(t) {
|
|
375
|
-
var
|
|
376
|
-
t.rows && ((
|
|
376
|
+
var n;
|
|
377
|
+
t.rows && ((n = this.$dataProvider) == null || n.setRows(t.rows));
|
|
377
378
|
}
|
|
378
379
|
}
|
|
379
380
|
}), S = d({
|
|
380
381
|
name: "RealTreeVue",
|
|
381
|
-
extends:
|
|
382
|
+
extends: C(),
|
|
382
383
|
props: {
|
|
383
384
|
treeOptions: Object,
|
|
384
385
|
treeField: String,
|
|
@@ -441,32 +442,32 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
441
442
|
}
|
|
442
443
|
},
|
|
443
444
|
methods: {
|
|
444
|
-
_createGrid(t,
|
|
445
|
+
_createGrid(t, n) {
|
|
445
446
|
var o;
|
|
446
|
-
const
|
|
447
|
-
return
|
|
448
|
-
grid:
|
|
447
|
+
const e = new m.TreeView(t), i = new m.LocalTreeDataProvider((o = n.dataProps) == null ? void 0 : o.undoable);
|
|
448
|
+
return e.setDataSource(i), {
|
|
449
|
+
grid: e,
|
|
449
450
|
dataProvider: i
|
|
450
451
|
};
|
|
451
452
|
},
|
|
452
453
|
_doApplyOptions(t) {
|
|
453
|
-
var
|
|
454
|
-
for (const [
|
|
455
|
-
switch (
|
|
454
|
+
var n;
|
|
455
|
+
for (const [e, i] of Object.entries(t))
|
|
456
|
+
switch (e) {
|
|
456
457
|
case "treeOptions":
|
|
457
|
-
i && ((
|
|
458
|
+
i && ((n = this.$gridView) == null || n.setTreeOptions(i));
|
|
458
459
|
break;
|
|
459
460
|
}
|
|
460
461
|
},
|
|
461
462
|
_setData(t) {
|
|
462
|
-
var
|
|
463
|
-
t.rows ? (
|
|
463
|
+
var n, e;
|
|
464
|
+
t.rows ? (n = this.$dataProvider) == null || n.setRows(t.rows, this.treeField, this.needSorting, this.childrenField, this.iconField) : t.json && ((e = this.$dataProvider) == null || e.setObjectRows(t.json, this.rowsProp, this.childrenProp, this.iconProp));
|
|
464
465
|
}
|
|
465
466
|
},
|
|
466
467
|
watch: {
|
|
467
468
|
rows: {
|
|
468
|
-
handler(t,
|
|
469
|
-
var
|
|
469
|
+
handler(t, n) {
|
|
470
|
+
var e;
|
|
470
471
|
if (this.$data._mountTimer != null) {
|
|
471
472
|
const i = () => {
|
|
472
473
|
F(() => {
|
|
@@ -476,12 +477,12 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
476
477
|
};
|
|
477
478
|
i.$mountSeq = 1 / 0, this.addCallback(i);
|
|
478
479
|
} else
|
|
479
|
-
(
|
|
480
|
+
(e = this.$dataProvider) == null || e.setRows(t, this.treeField, this.needSorting, this.childrenField, this.iconField);
|
|
480
481
|
}
|
|
481
482
|
},
|
|
482
483
|
json: {
|
|
483
|
-
handler(t,
|
|
484
|
-
var
|
|
484
|
+
handler(t, n) {
|
|
485
|
+
var e;
|
|
485
486
|
if (this.$data._mountTimer != null) {
|
|
486
487
|
const i = () => {
|
|
487
488
|
F(() => {
|
|
@@ -491,7 +492,7 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
491
492
|
};
|
|
492
493
|
i.$mountSeq = 1 / 0, this.addCallback(i);
|
|
493
494
|
} else
|
|
494
|
-
(
|
|
495
|
+
(e = this.$dataProvider) == null || e.setObjectRows(t, this.rowsProp, this.childrenProp, this.iconProp);
|
|
495
496
|
}
|
|
496
497
|
}
|
|
497
498
|
}
|
|
@@ -518,12 +519,12 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
518
519
|
},
|
|
519
520
|
watch: {
|
|
520
521
|
$attrs: {
|
|
521
|
-
handler(t,
|
|
522
|
+
handler(t, n) {
|
|
522
523
|
var o;
|
|
523
|
-
const
|
|
524
|
+
const e = a(t), i = p({}, a(this.$data.$oldValue), a(t));
|
|
524
525
|
if (i && Object.keys(i).length > 0) {
|
|
525
526
|
const s = (o = this.$data) == null ? void 0 : o.$model;
|
|
526
|
-
s && s.assignFrom(
|
|
527
|
+
s && s.assignFrom(e), this._doWatchAttrs(i), this.$oldValue = e;
|
|
527
528
|
}
|
|
528
529
|
},
|
|
529
530
|
deep: !0
|
|
@@ -548,8 +549,8 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
548
549
|
props: {},
|
|
549
550
|
methods: {
|
|
550
551
|
mountCB(t) {
|
|
551
|
-
var
|
|
552
|
-
if (a((
|
|
552
|
+
var e, i;
|
|
553
|
+
if (a((e = this.$parent) == null ? void 0 : e.$attrs)) {
|
|
553
554
|
const o = a(this.$attrs);
|
|
554
555
|
t && (this.$model = t.addColumn({ ...o, type: "series" }, (i = o.displayIndex) != null ? i : -1));
|
|
555
556
|
}
|
|
@@ -559,8 +560,8 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
559
560
|
},
|
|
560
561
|
_doWatchAttrs(t) {
|
|
561
562
|
if (t.hasOwnProperty("width") && !isNaN(t.width)) {
|
|
562
|
-
const
|
|
563
|
-
|
|
563
|
+
const e = this.$data.$model.layout;
|
|
564
|
+
e && (e.cellWidth = t.width);
|
|
564
565
|
}
|
|
565
566
|
}
|
|
566
567
|
}
|
|
@@ -681,10 +682,10 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
681
682
|
},
|
|
682
683
|
methods: {
|
|
683
684
|
mountCB(t) {
|
|
684
|
-
const
|
|
685
|
-
if (
|
|
686
|
-
const
|
|
687
|
-
|
|
685
|
+
const n = a(this.$attrs);
|
|
686
|
+
if (n.fieldName) {
|
|
687
|
+
const e = t.getDataSource();
|
|
688
|
+
e.fieldByName(n.fieldName) || (this.$model = e.addField(n, !0));
|
|
688
689
|
}
|
|
689
690
|
},
|
|
690
691
|
unmountDB(t) {
|
|
@@ -700,28 +701,28 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
700
701
|
props: {},
|
|
701
702
|
methods: {
|
|
702
703
|
mountCB(t) {
|
|
703
|
-
var
|
|
704
|
-
const
|
|
705
|
-
if (
|
|
706
|
-
const o =
|
|
704
|
+
var e, i;
|
|
705
|
+
const n = a((e = this.$parent) == null ? void 0 : e.$props);
|
|
706
|
+
if (n) {
|
|
707
|
+
const o = n.autoGenerateField, s = t == null ? void 0 : t.getDataSource(), r = a(this.$attrs);
|
|
707
708
|
let c = r.fieldName;
|
|
708
709
|
o && (!c && r.field && (c = r.field.fieldName), s && !s.fieldByName(c) && s.addField(r.field || c)), t && (this.$model = t.addColumn({ ...r, fieldName: c }, (i = r.displayIndex) != null ? i : -1));
|
|
709
710
|
}
|
|
710
711
|
},
|
|
711
712
|
unmountCB(t) {
|
|
712
|
-
var
|
|
713
|
+
var e;
|
|
713
714
|
this.$data.$model && t.removeColumn(this.$data.$model.name);
|
|
714
|
-
const
|
|
715
|
-
if (
|
|
716
|
-
const i =
|
|
715
|
+
const n = a((e = this.$parent) == null ? void 0 : e.$props);
|
|
716
|
+
if (n) {
|
|
717
|
+
const i = n.autoGenerateField, o = t == null ? void 0 : t.getDataSource(), s = a(this.$attrs);
|
|
717
718
|
let r = s.fieldName;
|
|
718
719
|
i && (!r && s.field && (r = s.field.fieldName), t.columnByField(r) || o.removeField(r));
|
|
719
720
|
}
|
|
720
721
|
},
|
|
721
722
|
_doWatchAttrs(t) {
|
|
722
723
|
if (t.hasOwnProperty("width") && !isNaN(t.width)) {
|
|
723
|
-
const
|
|
724
|
-
|
|
724
|
+
const e = this.$data.$model.layout;
|
|
725
|
+
e && (e.cellWidth = t.width);
|
|
725
726
|
}
|
|
726
727
|
}
|
|
727
728
|
}
|
|
@@ -734,8 +735,8 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
734
735
|
props: {},
|
|
735
736
|
methods: {
|
|
736
737
|
mountCB(t) {
|
|
737
|
-
var
|
|
738
|
-
if (a((
|
|
738
|
+
var e, i;
|
|
739
|
+
if (a((e = this.$parent) == null ? void 0 : e.$attrs)) {
|
|
739
740
|
const o = a(this.$attrs);
|
|
740
741
|
t && (this.$model = t.addColumn({ ...o, type: "literal" }, (i = o.displayIndex) != null ? i : -1));
|
|
741
742
|
}
|
|
@@ -745,8 +746,8 @@ const C = (t) => t.replace(/-./g, (e) => e[1].toUpperCase()), f = (t) => t.charA
|
|
|
745
746
|
},
|
|
746
747
|
_doWatchAttrs(t) {
|
|
747
748
|
if (t.hasOwnProperty("width") && !isNaN(t.width)) {
|
|
748
|
-
const
|
|
749
|
-
|
|
749
|
+
const e = this.$data.$model.layout;
|
|
750
|
+
e && (e.cellWidth = t.width);
|
|
750
751
|
}
|
|
751
752
|
}
|
|
752
753
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/Utils.ts","../src/RealGridBase.ts","../src/ComponentBase.ts","../src/RGComponents/RGSeriesColumn.ts","../src/RGComponents/RGStateBar.ts","../src/RGComponents/RGRowIndicator.ts","../src/RGComponents/RGHeaderSummaries.ts","../src/RGComponents/RGHeaderSummary.ts","../src/RGComponents/RGHeader.ts","../src/RGComponents/RGGroupPanel.ts","../src/RGComponents/RGFooter.ts","../src/RGComponents/RGFooters.ts","../src/RGComponents/RGFilterPanel.ts","../src/RGComponents/RGDataField.ts","../src/RGComponents/RGDataColumn.ts","../src/RGComponents/RGLiteralColumn.ts","../src/RGComponents/RGCheckBar.ts"],"sourcesContent":["import * as RealGrid from 'realgrid'\nimport { toRaw } from 'vue'\n\nexport const camelize = (s: string) => s.replace(/-./g, (x) => x[1].toUpperCase())\nexport const pascalize = (s: string) => s.charAt(0).toUpperCase() + s.slice(1);\nexport const kebabToCamel = (obj: { [key: string]: any }, prefix: string = '') => {\n const ret: { [key: string]: any } = {}\n for (let key in obj) {\n ret[camelize(prefix ? `${prefix}-${key}` : key)] = toRaw(obj[key])\n }\n return ret\n}\nexport const deepMerge = (target: any, ...sources: any[]) => {\n sources.forEach((src) => {\n for (const key in src) {\n if (key === 'children') {\n continue\n }\n // undefined, object, boolean, number, string, function\n const value = src[key]\n if (value === null) {\n target[key] = null\n } else if (value === undefined) {\n delete target[key]\n } else if (Array.isArray(value)) {\n // deepCopy하는 방법 구현 필요.\n target[key] = [...value]\n } else if (typeof value === 'object') {\n if (value instanceof Date) {\n target[key] = new Date(value)\n } else {\n target[key] = deepMerge(target[key] == null ? {} : target[key], value)\n }\n } else {\n target[key] = value\n }\n }\n })\n return target\n}\n\nexport const extractDiff = (target: any, origin: any = {}, diff: any = {}): any => {\n target = target || {}\n const exceptKey = ['children']\n for (const [key, value] of Object.entries(origin)) {\n if (exceptKey.includes(key)) {\n continue\n }\n if (!diff.hasOwnProperty(key)) {\n target[key] = null\n } else if (Array.isArray(value)) {\n if (!diff[key] || JSON.stringify(value) != JSON.stringify(diff[key])) {\n target[key] = diff[key]\n }\n } else if (value instanceof Object && !(value instanceof Date || Array.isArray(value) || typeof value === 'function')) {\n if (!(diff[key] instanceof Object)) {\n target[key] = diff[key]\n } else {\n const dif = extractDiff({}, value, diff[key] as Object)\n if (dif && Object.keys(dif).length > 0) {\n target[key] = dif\n }\n }\n } else if (value !== diff[key]) {\n target[key] = diff[key]\n }\n }\n // props의 경우 origin에 없으면 없는것이다...\n for (const [key, value] of Object.entries(diff)) {\n if (exceptKey.includes(key)) {\n continue\n }\n if (!origin.hasOwnProperty(key)) {\n target[key] = value\n }\n }\n return target\n}\n\n\n\nexport const $_connectEvents = (grid: RealGrid.GridBase, provider: RealGrid.DataProviderBase, props: Object): void => {\n for (const [key, value] of Object.entries(props)) {\n if (key && typeof value === 'function' && key.startsWith('on')) { \n if (key === 'onRowInserting') {\n grid.onRowInserting = value\n } else if (key === 'onDataRowInserting') {\n //@ts-ignore\n provider.onRowInserting = value\n } else {\n //@ts-ignore\n grid.hasOwnProperty(key) && (grid[key] = value)\n //@ts-ignore\n provider.hasOwnProperty(key) && (provider[key] = value)\n }\n }\n }\n}","import * as RealGrid from 'realgrid'\nimport { GridOptions, GridType, Omits, ProviderType } from './Types'\nimport { $_connectEvents, camelize, extractDiff, kebabToCamel, pascalize } from './Utils'\nimport { PropType, VNode, defineComponent, h, nextTick} from 'vue'\n\nconst RealGridBase = <T>() => {\n return defineComponent({\n name: 'RealGridBase',\n props: {\n disabled: Boolean,\n gridProps: Object as PropType<GridOptions<T>>,\n dataProps: Object as PropType<RealGrid.DataOptions>,\n locale: Object as PropType<Partial<RealGrid.RealGridLocale>>,\n autoGenerateField: Boolean,\n rows: Array as PropType<RealGrid.DataValues[]>,\n rowStyleCallback: Function as PropType<RealGrid.RowStyleCallback>,\n cellStyleCallback: Function as PropType<RealGrid.CellStyleCallback>,\n layout: Array as PropType<(string | RealGrid.CellLayoutGroupItem | RealGrid.CellLayoutColumnItem)[]>,\n onInitialized: Function as PropType<(grid: GridType<T>) => void>,\n onDestroy: Function as PropType<(grid: GridType<T>) => void>,\n onCurrentChanging: Function as PropType<(grid: GridType<T>, oldIndex: RealGrid.CellIndex, newIndex: RealGrid.CellIndex) => boolean>,\n onCurrentChanged: Function as PropType<(grid: GridType<T>, newIndex: RealGrid.CellIndex) => void>,\n onCurrentRowChanged: Function as PropType<(grid: GridType<T>, oldRow: number, newRow: number) => void>,\n onValidateColumn: Function as PropType<(grid: GridType<T>, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined>,\n onValidateRow: Function as PropType<(grid: GridType<T>, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError>,\n onValidationFail: Function as PropType<(grid: GridType<T>, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError>,\n onColumnCheckedChanged: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, checked: boolean) => void>,\n onMenuItemClicked: Function as PropType<(grid: GridType<T>, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>,\n onContextMenuPopup: Function as PropType<(grid: GridType<T>, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string>,\n onContextMenuItemClicked: Function as PropType<(grid: GridType<T>, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>,\n onCellButtonClicked: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, column: RealGrid.GridColumn) => void>,\n onScrollToBottom: Function as PropType<(grid: GridType<T>) => void>,\n onTopIndexChanged: Function as PropType<(grid: GridType<T>, itemIndex: number) => void>,\n onTopIndexChanging: Function as PropType<(grid: GridType<T>, currentTop: number, delta: number, focusing: boolean, adjust: boolean) => number>,\n onLeftPosChanged: Function as PropType<(grid: GridType<T>, pos: number) => void>,\n onRowsDeleting: Function as PropType<(grid: GridType<T>, rows: number[]) => boolean>,\n onRowInserting: Function as PropType<(grid: GridType<T>, itemIndex: number, dataRow: number) => boolean>,\n onSelectionCleared: Function as PropType<(grid: GridType<T>) => void>,\n onSelectionChanged: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection) => void>,\n onSelectionAdded: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection) => void>,\n onSelectionEnded: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection) => void>,\n onShowEditor: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, props: any, attrs: any) => boolean>,\n onShowEditCommand: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex) => boolean>,\n onHideEditor: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex) => void>,\n onEditChange: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, value: any) => void>,\n onGetEditValue: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, editResult: Object) => void | boolean>,\n onEditCommit: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, oldValue: any, newValue: any) => boolean>,\n onEditCanceled: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex) => void>,\n onItemEditCanceled: Function as PropType<(grid: GridType<T>, itemIndex: number, state: string) => void>,\n onItemEditCancel: Function as PropType<(grid: GridType<T>, itemIndex: number, state: string) => boolean>,\n onEditSearch: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, text: string) => void>,\n onSearchCellButtonClick: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, text: string) => void>,\n onCellEdited: Function as PropType<(grid: GridType<T>, itemIndex: number, row: number, field: number) => void>,\n onEditRowChanged: Function as PropType<(grid: GridType<T>, itemIndex: number, row: number, field: number, oldValue: any, newValue: any) => void>,\n onEditRowPasted: Function as PropType<(grid: GridType<T>, itemIndex: number, row: number, fields: number[], oldValues: any[], newValues: any[]) => void>,\n onRowsPasted: Function as PropType<(grid: GridType<T>, items: number[]) => void>,\n onCellPasting: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, value: any, editResult: RealGrid.EditResult) => boolean>,\n onItemChecked: Function as PropType<(grid: GridType<T>, itemIndex: number, checked: boolean) => void>,\n onItemAllChecked: Function as PropType<(grid: GridType<T>, checked: boolean) => void>,\n onErrorClicked: Function as PropType<(grid: GridType<T>, error: string) => void>,\n onSorting: Function as PropType<(grid: GridType<T>, fields: number[], directions: string[]) => boolean>,\n onSortingChanged: Function as PropType<(grid: GridType<T>) => void>,\n onFiltering: Function as PropType<(grid: GridType<T>) => boolean>,\n onFilteringChanged: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, filter: RealGrid.ColumnFilter, reset: boolean) => void>,\n onWheel: Function as PropType<(grid: GridType<T>, event: WheelEvent) => boolean>,\n onKeyDown: Function as PropType<(grid: GridType<T>, event: KeyboardEvent) => boolean>,\n onKeyPress: Function as PropType<(grid: GridType<T>, event: KeyboardEvent) => void>,\n onKeyUp: Function as PropType<(grid: GridType<T>, event: KeyboardEvent) => void>,\n onShowTooltip: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, value: any, isEllipsis: boolean) => boolean | string>,\n onShowHeaderTooltip: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem, isEllipsis: boolean) => string>,\n onColumnPropertyChanged: Function as PropType<(grid: GridType<T>, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void>,\n onLayoutPropertyChanged: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void>,\n onGridActivated: Function as PropType<(grid: GridType<T>) => void>,\n onCopy: Function as PropType<(grid: GridType<T>, selection: RealGrid.Selection | RealGrid.Selection[], event: ClipboardEvent) => boolean>,\n onPaste: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, event: ClipboardEvent) => boolean>,\n onPasted: Function as PropType<(grid: GridType<T>) => void>,\n onItemsChecked: Function as PropType<(grid: GridType<T>, items: number[], checked: boolean) => void>,\n onCellClicked: Function as PropType<(grid: GridType<T>, clickData: RealGrid.ClickData) => void>,\n onCellDblClicked: Function as PropType<(grid: GridType<T>, clickData: RealGrid.ClickData) => void>,\n onCellItemClicked: Function as PropType<(grid: GridType<T>, index: RealGrid.CellIndex, clickData: RealGrid.ClickData) => boolean>,\n onCommandStackChanged: Function as PropType<(grid: GridType<T>, undoable: boolean, redoable: boolean) => void>,\n onDataLoadComplated: Function as PropType<(grid: GridType<T>) => void>,\n onLayoutExpanding: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => boolean>,\n onLayoutExpanded: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => void>,\n onLayoutCollapsing: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => boolean>,\n onLayoutCollapsed: Function as PropType<(grid: GridType<T>, layout: RealGrid.CellLayoutGroupItem) => void>,\n onGridFocusChanged: Function as PropType<(grid: GridType<T>, focused: boolean, event: Event) => void>\n },\n data() {\n return {\n $dataProvider: null as RealGrid.DataProviderBase | null,\n $gridView: null as RealGrid.GridBase | null,\n _mountTimer: null as number | null,\n _mountCBs: [] as Function[],\n }\n },\n mounted() {\n const container = this.$el as HTMLDivElement\n const props = kebabToCamel(this.$props) as any\n if (this.$listeners) {\n for (const [key, value] of Object.entries(this.$listeners)) {\n if (key && typeof value === 'function') {\n if (key === 'row-inserting') {\n props.onRowInserting = value as (grid: RealGrid.GridBase, itemIndex: number, dataRow: number) => boolean\n } else if (key === 'data-row-inserting') {\n //@ts-ignore\n props.onDataRowInserting = value\n } else {\n const eventName = 'on' + pascalize(camelize(key))\n //@ts-ignore\n props.hasOwnProperty(eventName) && (props[eventName] = value)\n }\n }\n }\n }\n const { grid, dataProvider } = this._createGrid(container, props)\n this.$dataProvider = dataProvider\n this.$gridView = grid\n this.executeCB()\n $_connectEvents(grid, dataProvider, props)\n this._applyOptions(props)\n\n if (props.layout) {\n grid.setColumnLayout(props.layout)\n }\n\n this._doInitProc(grid, props)\n this._setData(props)\n },\n computed: {\n dataProvider: {\n get(): ProviderType<T> {\n return this.$data.$dataProvider as unknown as ProviderType<T>\n },\n set(value: ProviderType<T>) {\n this.$dataProvider = value\n },\n },\n gridView: {\n get(): GridType<T> {\n return this.$data.$gridView as unknown as GridType<T>\n },\n set(value: GridType<T>) {\n this.$gridView = value\n },\n },\n },\n unmounted() {\n const props = kebabToCamel(this.$props) as any\n const listener = kebabToCamel(this.$attrs, 'on') as any\n\n const destroyProc = props.onDestroy || listener.onDestroy\n destroyProc && destroyProc(this.gridView)\n this.gridView = this.gridView && this.gridView.destroy()\n this.dataProvider = this.dataProvider && this.dataProvider.destroy()\n },\n destroyed() {\n const props = kebabToCamel(this.$props) as any\n const listener = kebabToCamel(this.$attrs, 'on') as any\n\n const destroyProc = props.onDestroy || listener.onDestroy\n destroyProc && destroyProc(this.gridView)\n this.gridView = this.gridView && this.gridView.destroy()\n this.dataProvider = this.dataProvider && this.dataProvider.destroy()\n },\n watch: {\n gridProps: {\n handler(val, oldVal) {\n const diff = extractDiff({}, oldVal, val)\n if (this.gridView && diff && Object.keys(diff).length > 0) {\n this.gridView.setOptions(diff)\n }\n },\n deep: true,\n },\n disabled(val, oldVal) {\n this.gridView && (this.gridView.disabled = val)\n },\n dataProps: {\n handler(val, oldVal) {\n const diff = extractDiff({}, oldVal, val)\n if (this.dataProvider && diff && Object.keys(diff).length > 0) {\n this.dataProvider.setOptions(diff)\n }\n },\n deep: true,\n },\n locale: {\n handler(val, oldVal) {\n val && RealGrid.default.setLocale(val)\n },\n },\n layout: {\n handler(val, oldVal) {\n this.gridView && this.gridView.setColumnLayout(val)\n },\n deep: true,\n },\n },\n methods: {\n addCallback(fn: Function) {\n this.$data._mountCBs.push(fn)\n clearTimeout(this.$data._mountTimer!)\n const self = this\n this.$data._mountTimer = window.setTimeout(function () {\n self.executeCB()\n }, 20)\n },\n removeCallback(fn: Function) {\n if (this.$data._mountCBs.indexOf(fn) >= 0) {\n const idx = this.$data._mountCBs.indexOf(fn)\n this.$data._mountCBs.splice(idx, 1)\n }\n },\n executeCB() {\n const gridView = this.$gridView\n const dataProvider = this.$dataProvider\n if (!gridView) {\n return\n }\n clearTimeout(this._mountTimer!)\n //@ts-ignore\n if (gridView && gridView['_view']) {\n gridView.beginUpdate()\n try {\n dataProvider?.beginUpdate()\n try {\n const cbs = this.$data._mountCBs.sort((v1: any, v2: any) => {\n return (v1.$mountSeq == null ? -1 : v1.$mountSeq) - (v2.$mountSeq == null ? -1 : v2.$mountSeq)\n })\n while (cbs && cbs.length) {\n const f = cbs.shift()\n f?.call(this, gridView)\n }\n } finally {\n dataProvider?.endUpdate()\n }\n } finally {\n gridView.endUpdate(true)\n this.$data._mountTimer = null\n this.$data._mountCBs = []\n }\n }\n },\n _applyOptions(options: any) {\n const grid = this.$gridView\n const dataProvider = this.$dataProvider\n if (grid) {\n for (let [key, value] of Object.entries(options)) {\n switch (key) {\n case 'gridProps':\n value && grid.setOptions(value as RealGrid.ViewOptions)\n break\n case 'disabled':\n grid && (grid.disabled = !!value)\n break\n case 'dataProps':\n value && dataProvider?.setOptions(value as RealGrid.DataOptions)\n break\n case 'layout':\n value && grid && grid.setColumnLayout(value as any)\n break\n case 'rowStyleCallback':\n grid.setRowStyleCallback(value as RealGrid.RowStyleCallback)\n break\n case 'cellStyleCallback':\n grid.setCellStyleCallback(value as RealGrid.CellStyleCallback)\n break\n case 'locale':\n value && RealGrid.default.setLocale(value as RealGrid.RealGridLocale)\n break\n }\n }\n }\n this._doApplyOptions(options)\n },\n _createGrid(container: HTMLDivElement, props: any): { grid: GridType<T>; dataProvider: ProviderType<T> } {\n return {\n grid: null as unknown as GridType<T>,\n dataProvider: null as unknown as ProviderType<T>,\n }\n },\n _doInitProc(grid: RealGrid.GridBase, props: any) {\n const initProc = props.onInitialized\n if (initProc) {\n const fType = initProc.constructor.name\n if (fType === 'Function') {\n initProc(grid)\n } else if (fType === 'AsyncFunction') {\n Promise.resolve(initProc(grid))\n }\n }\n },\n _doApplyOptions(options: any) {},\n _setData(rows: any) {},\n },\n render() {\n const parseChild = (vNodes: any[]): VNode[] => {\n const child = []\n if (Array.isArray(vNodes)) {\n for (let vNode of vNodes) {\n if (Array.isArray(vNode.children)) {\n child.push(...parseChild(vNode.children))\n } else {\n child.push(vNode)\n }\n }\n }\n return child\n }\n const children = []\n for (let key of Object.keys(this.$slots)) {\n let vNodes: any = this.$slots[key]\n if (typeof vNodes === 'function') {\n vNodes = vNodes()\n }\n children.push(...parseChild(vNodes))\n }\n let displayIndex = 0\n for (let i = 0; i < children.length; i++) {\n const child = children[i]\n // @ts-ignore\n if (child.type instanceof Object && child.type.hasOwnProperty('name')) {\n // @ts-ignore\n const name = child.type.name\n if (name && /^RG.+Column$/.exec(name)) {\n // @ts-ignore\n child.props = child.props || {}\n // @ts-ignore\n child.props && (child.props.displayIndex ??= displayIndex++)\n }\n }\n //@ts-ignore\n child.$mountSeq = i\n }\n const style = this.$attrs.style ? this.$attrs.style : { width: '100%', height: '100%' }\n const node = h('div', { style }, children)\n\n return node\n },\n })\n}\n\nconst RealGridVue = defineComponent({\n name: 'RealGridVue',\n extends: RealGridBase<RealGrid.GridView>(),\n props: {\n accessibility: Boolean,\n waiOptions: Object as PropType<RealGrid.WaiOptions>,\n\n onPageChanging: Function as PropType<(grid: RealGrid.GridView, page: number) => boolean>,\n onPageChanged: Function as PropType<(grid: RealGrid.GridView, page: number) => void>,\n onPageCountChanged: Function as PropType<(grid: RealGrid.GridView, pageCount: number) => void>,\n onGrouping: Function as PropType<(grid: RealGrid.GridView, fields: number[]) => boolean>,\n onGrouped: Function as PropType<(grid: RealGrid.GridView) => void>,\n onExpanding: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => boolean>,\n onExpanded: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => void>,\n onCollapsing: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => boolean>,\n onCollapsed: Function as PropType<(grid: RealGrid.GridView, itemIndex: number) => void>,\n\n // dataProvider\n onRowCountChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, newCount: number) => void>,\n onRowUpdating: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, oldValues: RealGrid.RowValues, newValues: RealGrid.RowValues) => boolean>,\n onRowUpdated: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowsUpdated: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number) => void>,\n onRowListUpdated: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n onDataRowInserting: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, values: RealGrid.DataValues) => boolean>,\n onRowInserted: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowsInserted: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number) => void>,\n onRowDeleting: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => boolean>,\n onRowDeleted: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowsDeleted: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n onRowMoving: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, newRow: number) => boolean>,\n onRowMoved: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, newRow: number) => void>,\n onRowsMoving: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number, newRow: number) => boolean>,\n onRowsMoved: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, count: number, newRow: number) => void>,\n onRowListMoving: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[], newRow: number) => boolean>,\n onRowListMoved: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[], newRow: number) => void>,\n onValueChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number, field: number) => void>,\n onDataChanged: Function as PropType<(provider: RealGrid.LocalDataProvider) => void>,\n onRowStateChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, row: number) => void>,\n onRowStatesChanged: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n onRowStatesCleared: Function as PropType<(provider: RealGrid.LocalDataProvider) => void>,\n onRestoreRows: Function as PropType<(provider: RealGrid.LocalDataProvider, rows: number[]) => void>,\n },\n data() {\n return {\n $dataProvider: null as RealGrid.LocalDataProvider | null,\n $gridView: null as RealGrid.GridView | null,\n }\n },\n\n watch: {\n rows: {\n handler(val, oldVal) {\n if (this.$data._mountTimer != null) {\n const callback = () => {\n nextTick(() => {\n this.$dataProvider?.setRows(val)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.$dataProvider?.setRows(val)\n }\n },\n // immediate 절대 사용금지.\n },\n },\n methods: {\n _createGrid(container: HTMLDivElement, props: any) {\n const grid = new RealGrid.default.GridView(container, props?.accessibility, props?.waiOptions)\n const dataProvider = new RealGrid.default.LocalDataProvider(props.dataProps?.undoable)\n grid.setDataSource(dataProvider)\n return {\n grid,\n dataProvider,\n }\n },\n _doApplyOptions(options: { [key: string]: any }) {},\n _setData(options: { [key: string]: any }) {\n if (options.rows) {\n this.$dataProvider?.setRows(options.rows)\n }\n },\n },\n})\n\nconst RealTreeVue = defineComponent({\n name: 'RealTreeVue',\n extends: RealGridBase<RealGrid.TreeView>(),\n props: {\n treeOptions: Object as PropType<RealGrid.TreeOptions>,\n treeField: String,\n needSorting: Boolean,\n childrenField: String,\n iconField: String,\n json: Object as PropType<any>,\n rowsProp: String,\n childrenProp: String,\n iconProp: String,\n onTreeItemExpanding: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => boolean>,\n onTreeItemExpanded: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n onTreeItemCollapsing: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n onTreeItemCollapsed: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n onTreeItemChanged: Function as PropType<(tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void>,\n\n // dataProvider\n onRowCountChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, newCount: number) => void>,\n onRowAdding: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, index: number, child: any) => boolean>,\n onRowAdded: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowsAdded: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, parent: number, rows: number[]) => void>,\n onRowDeleting: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => boolean>,\n onRowDeleted: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowsDeleted: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void>,\n onRowUpdating: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, oldValues: RealGrid.RowValues, newValues: RealGrid.RowValues) => boolean>,\n onRowUpdated: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowsUpdating: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => boolean>,\n onRowsUpdated: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void>,\n onValueChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, field: number) => void>,\n onDataChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider) => void>,\n onRowStateChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number) => void>,\n onRowStatesChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void>,\n onRowSiblingMoving: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, offset: number) => boolean>,\n onRowSiblingMoved: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, offset: number) => void>,\n onRowsSiblingMoving: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[], offset: number) => boolean>,\n onRowsSiblingMoved: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, rows: number[], offset: number) => void>,\n onRowParentChanging: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, parent: number, index: number) => boolean>,\n onRowParentChanged: Function as PropType<(provider: RealGrid.LocalTreeDataProvider, row: number, parent: number, index: number) => void>,\n },\n data() {\n return {\n $gridView: null as RealGrid.TreeView | null,\n $dataProvider: null as RealGrid.LocalTreeDataProvider | null,\n }\n },\n computed: {\n gridView: {\n get() {\n return this.$data.$gridView\n },\n set(value: RealGrid.TreeView) {\n this.$gridView = value\n },\n },\n dataProvider: {\n get() {\n return this.$data.$dataProvider\n },\n set(value: RealGrid.LocalTreeDataProvider) {\n this.$dataProvider = value\n },\n },\n },\n methods: {\n _createGrid(container: HTMLDivElement, props: any) {\n const grid = new RealGrid.TreeView(container)\n const dataProvider = new RealGrid.LocalTreeDataProvider(props.dataProps?.undoable)\n grid.setDataSource(dataProvider)\n return {\n grid,\n dataProvider,\n }\n },\n _doApplyOptions(options: { [key: string]: any }) {\n for (const [key, value] of Object.entries(options)) {\n switch (key) {\n case 'treeOptions':\n value && this.$gridView?.setTreeOptions(value)\n break\n }\n }\n },\n _setData(options: { [key: string]: any }) {\n if (options.rows) {\n this.$dataProvider?.setRows(options.rows, this.treeField as string, this.needSorting, this.childrenField, this.iconField)\n } else if (options.json) {\n this.$dataProvider?.setObjectRows(options.json, this.rowsProp as string, this.childrenProp, this.iconProp)\n }\n },\n },\n watch: {\n rows: {\n handler(val, oldVal) {\n if (this.$data._mountTimer != null) {\n const callback = () => {\n nextTick(() => {\n this.$dataProvider?.setRows(val, this.treeField!, this.needSorting, this.childrenField, this.iconField)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.$dataProvider?.setRows(val, this.treeField!, this.needSorting, this.childrenField, this.iconField)\n }\n },\n },\n json: {\n handler(val, oldVal) {\n if (this.$data._mountTimer != null) {\n const callback = () => {\n nextTick(() => {\n this.$dataProvider?.setObjectRows(val, this.rowsProp!, this.childrenProp, this.iconProp)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.$dataProvider?.setObjectRows(val, this.rowsProp!, this.childrenProp, this.iconProp)\n }\n },\n },\n },\n})\n\ntype RealGridVue = Omit<InstanceType<typeof RealGridVue>, Omits>\ntype RealTreeVue = Omit<InstanceType<typeof RealTreeVue>, Omits>\n\nexport { RealGridVue, RealTreeVue }\n","import { ConfigObject } from 'realgrid'\nimport { IComponentBase, IModel, IRealBaseVue } from './Types'\nimport { extractDiff, kebabToCamel } from './Utils'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\n\nexport const ComponentBase = defineComponent({\n name: 'ComponentBase',\n props: {} as ComponentPropsOptions & IComponentBase,\n data() {\n return {\n $model: null as IModel | null,\n $oldValue: null as any | null,\n }\n },\n mounted() {\n const p: IRealBaseVue = this.$parent as IRealBaseVue\n if (p) {\n this.$oldValue = kebabToCamel(this.$attrs)\n //@ts-ignore\n this.mountCB.$mountSeq = this._vnode.$mountSeq\n p.addCallback(this.mountCB)\n }\n },\n unmounted() {\n const p: IRealBaseVue = this.$parent as IRealBaseVue\n if (p) {\n p.removeCallback(this.mountCB)\n p.addCallback(this.unmountCB)\n }\n },\n destroyed() {\n const p: IRealBaseVue = this.$parent as IRealBaseVue\n if (p) {\n p.removeCallback(this.mountCB)\n p.addCallback(this.unmountCB)\n }\n },\n watch: {\n $attrs: {\n handler(val, oldVal) {\n const value = kebabToCamel(val)\n const diff: ConfigObject = extractDiff({}, kebabToCamel(this.$data.$oldValue), kebabToCamel(val))\n if (diff && Object.keys(diff).length > 0) {\n const model = this.$data?.$model\n model && model.assignFrom(value)\n this._doWatchAttrs(diff)\n this.$oldValue = value\n }\n },\n deep: true,\n },\n },\n methods: {\n mountCB() {},\n unmountCB() {},\n _doWatchAttrs(diff: ConfigObject) {},\n },\n render() {\n // return h(\"\");\n },\n})\n\nexport default ComponentBase\n","import ComponentBase from '../ComponentBase'\nimport { ConfigObject, IRealGridSeriesColumn, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGSeriesColumn = defineComponent({\n name: \"RGSeriesColumn\",\n extends: ComponentBase,\n data() {\n return {\n }\n },\n props: {\n } as (ComponentPropsOptions & IRealGridSeriesColumn),\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const pAttrs = kebabToCamel(this.$parent?.$attrs!);\n if (pAttrs) {\n const props = kebabToCamel(this.$attrs);\n if (grid) {\n this.$model = grid.addColumn({...props, type:\"series\"}, props.displayIndex??-1);\n }; \n }\n },\n unmountCB(grid: RealGrid.GridBase) {\n \n if (this.$data.$model) {\n grid.removeColumn(this.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = this.$data.$model as RealGrid.GridColumn;\n const layout = column.layout;\n if (layout) {\n layout.cellWidth = diff.width;\n }\n }\n } \n }\n});\ntype RGSeriesColumn = Omit<InstanceType<typeof RGSeriesColumn>, Omits>;\nexport default RGSeriesColumn\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridStateBar, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGStateBar = defineComponent({\n name: \"RGStateBar\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridStateBar),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setStateBar(kebabToCamel(this.$attrs));\n this.$model = grid.stateBar;\n },\n }\n});\ntype RGStateBar = Omit<InstanceType<typeof RGStateBar>, Omits>;\nexport default RGStateBar\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridRowIndicator, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGRowIndicator = defineComponent({\n name: \"RGRowIndicator\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridRowIndicator),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setRowIndicator(kebabToCamel(this.$attrs));\n this.$model = grid.rowIndicator;\n },\n }\n})\ntype RGRowIndicator = Omit<InstanceType<typeof RGRowIndicator>, Omits>;\nexport default RGRowIndicator\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridheaderSummaries, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\nconst RGHeaderSummaries = defineComponent({\n name: 'RGHeaderSummaries',\n extends: ComponentBase,\n props: {} as ComponentPropsOptions & IRealGridheaderSummaries,\n data() {\n return {}\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setHeaderSummaries(kebabToCamel(this.$attrs))\n this.$model = grid.headerSummaries\n },\n },\n})\ntype RGHeaderSummaries = Omit<InstanceType<typeof RGHeaderSummaries>, Omits>;\nexport default RGHeaderSummaries\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridHeaderSummary, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\nconst RGHeaderSummary = defineComponent({\n name: 'RGHeaderSummary',\n extends: ComponentBase,\n props: {} as ComponentPropsOptions & IRealGridHeaderSummary,\n data() {\n return {}\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setHeaderSummary(kebabToCamel(this.$attrs))\n this.$model = grid.headerSummary\n },\n },\n})\ntype RGHeaderSummary = Omit<InstanceType<typeof RGHeaderSummary>, Omits>;\nexport default RGHeaderSummary\n","import ComponentBase from \"../ComponentBase\";\nimport { IRealGridHeader, Omits } from \"../Types\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\n\nconst RGHeader = defineComponent({\n name: \"RGHeader\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridHeader),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setHeader(kebabToCamel(this.$attrs));\n this.$model = grid.header;\n },\n }\n});\ntype RGHeader = Omit<InstanceType<typeof RGHeader>, Omits>;\nexport default RGHeader;","import ComponentBase from '../ComponentBase'\nimport { IRealGridGroupPanel, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGGroupPanel = defineComponent({\n name: \"RGGroupPanel\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridGroupPanel),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridView) {\n grid.setGroupPanel(kebabToCamel(this.$attrs));\n this.$model = grid.groupPanel;\n },\n }\n});\n\ntype RGGroupPanel = Omit<InstanceType<typeof RGGroupPanel>, Omits>;\n\nexport default RGGroupPanel\n","import ComponentBase from \"../ComponentBase\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\nimport { IRealGridFooters, Omits } from \"../Types\";\n\n\nconst RGFooter = defineComponent({\n name: \"RGFooter\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridFooters),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setFooter(kebabToCamel(this.$attrs));\n this.$model = grid.footer;\n },\n }\n});\n\ntype RGFooter = Omit<InstanceType<typeof RGFooter>, Omits>;\n\nexport default RGFooter;","import ComponentBase from \"../ComponentBase\";\nimport { IRealGridFooter, Omits } from \"../Types\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\nconst RGFooters = defineComponent({\n name: \"RGFooters\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridFooter),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setFooters(kebabToCamel(this.$attrs));\n this.$model = grid.footer;\n },\n }\n});\n\ntype RGFooters = Omit<InstanceType<typeof RGFooters>, Omits>;\n\nexport default RGFooters;","import ComponentBase from '../ComponentBase'\nimport { IRealGridFilterPanel, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGFilterPanel = defineComponent({\n name: \"RGFilterPanel\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridFilterPanel),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setFilterPanel(kebabToCamel(this.$attrs));\n this.$model = grid.filterPanel;\n },\n }\n});\n\ntype RGFilterPanel = Omit<InstanceType<typeof RGFilterPanel>, Omits>;\n\nexport default RGFilterPanel\n","import ComponentBase from \"../ComponentBase\";\nimport { ComponentPropsOptions, defineComponent } from \"vue\";\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from \"../Utils\";\nimport { IRealGridDataField, Omits } from \"../Types\";\n\nconst RGDataField = defineComponent({\n name: \"RGDataField\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridDataField),\n data() {\n return {\n\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const attrs = kebabToCamel(this.$attrs);\n if (attrs.fieldName) {\n const dp = grid.getDataSource();\n const field = dp.fieldByName(attrs.fieldName);\n if (!field) {\n this.$model = dp.addField(attrs, true);\n }\n }\n },\n unmountDB(grid: RealGrid.GridBase) {\n if (this.$model) {\n const dp = grid.getDataSource();\n dp.removeField(this.$model);\n }\n }\n }\n});\n\ntype RGDataField = Omit<InstanceType<typeof RGDataField>, Omits>;\n\nexport default RGDataField;","import ComponentBase from '../ComponentBase'\nimport { ConfigObject, IRGDataColumn, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\n\nconst RGDataColumn = defineComponent({\n name: \"RGDataColumn\",\n extends: ComponentBase,\n data() {\n return {\n }\n },\n\n props: {\n } as (ComponentPropsOptions & IRGDataColumn),\n\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const pAttrs = kebabToCamel(this.$parent?.$props!);\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(this.$attrs);\n let fieldName = props.fieldName;\n if (generateField) {\n if (!fieldName && props.field) {\n fieldName = props.field.fieldName;\n }\n \n if (dp && !dp.fieldByName(fieldName)) {\n dp.addField(props.field || fieldName);\n }\n }\n if (grid) {\n this.$model = grid.addColumn({...props, ...{fieldName}}, props.displayIndex??-1);\n }; \n }\n },\n unmountCB(grid: RealGrid.GridBase) {\n if (this.$data.$model) {\n grid.removeColumn(this.$data.$model.name!);\n }\n const pAttrs = kebabToCamel(this.$parent?.$props!);\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(this.$attrs);\n let fieldName = props.fieldName;\n if (generateField) {\n if (!fieldName && props.field) {\n fieldName = props.field.fieldName;\n }\n if (!grid.columnByField(fieldName)) {\n dp.removeField(fieldName)\n }\n }; \n }\n\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = this.$data.$model as RealGrid.GridColumn;\n const layout = column.layout;\n if (layout) {\n layout.cellWidth = diff.width;\n }\n }\n }\n }\n});\ntype RGDataColumn = Omit<InstanceType<typeof RGDataColumn>, Omits>;\nexport default RGDataColumn\n","import ComponentBase from '../ComponentBase'\nimport { ConfigObject, IRealGridLiteralColumn, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGLiteralColumn = defineComponent({\n name: \"RGLiteralColumn\",\n extends: ComponentBase,\n data() {\n return {\n }\n },\n props: {\n } as (ComponentPropsOptions & IRealGridLiteralColumn),\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n const pAttrs = kebabToCamel(this.$parent?.$attrs!);\n if (pAttrs) {\n const props = kebabToCamel(this.$attrs);\n if (grid) {\n this.$model = grid.addColumn({...props, type:\"literal\"}, props.displayIndex??-1);\n }; \n }\n },\n unmountCB(grid: RealGrid.GridBase) {\n \n if (this.$data.$model) {\n grid.removeColumn(this.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = this.$data.$model as RealGrid.GridColumn;\n const layout = column.layout;\n if (layout) {\n layout.cellWidth = diff.width;\n }\n }\n } \n }\n});\ntype RGLiteralColumn = Omit<InstanceType<typeof RGLiteralColumn>, Omits>;\nexport default RGLiteralColumn\n","import ComponentBase from '../ComponentBase'\nimport { IRealGridCheckBar, Omits } from '../Types'\nimport { ComponentPropsOptions, defineComponent } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGCheckBar = defineComponent({\n name: \"RGCheckBar\",\n extends: ComponentBase,\n props: {\n } as (ComponentPropsOptions & IRealGridCheckBar),\n data() {\n return {\n }\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setCheckBar(kebabToCamel(this.$attrs));\n this.$model = grid.checkBar;\n },\n }\n})\n\ntype RGCheckBar = Omit<InstanceType<typeof RGCheckBar>, Omits>;\nexport default RGCheckBar\n"],"names":["camelize","s","x","pascalize","kebabToCamel","obj","prefix","ret","key","toRaw","extractDiff","target","origin","diff","exceptKey","value","dif","$_connectEvents","grid","provider","props","RealGridBase","defineComponent","container","eventName","dataProvider","listener","destroyProc","val","oldVal","RealGrid","fn","self","idx","gridView","cbs","v1","v2","f","options","initProc","fType","rows","parseChild","vNodes","child","vNode","children","displayIndex","i","name","_b","_a","style","h","RealGridVue","callback","nextTick","RealTreeVue","ComponentBase","p","model","RGSeriesColumn","layout","RGStateBar","RGRowIndicator","RGHeaderSummaries","RGHeaderSummary","RGHeader","RGGroupPanel","RGFooter","RGFooters","RGFilterPanel","RGDataField","attrs","dp","RGDataColumn","pAttrs","generateField","fieldName","RGLiteralColumn","RGCheckBar"],"mappings":"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"}
|