realgrid-vue 0.9.7 → 0.9.9

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.d.ts CHANGED
@@ -137,7 +137,7 @@ onCurrentRowChanged: PropType<(grid: RealGrid.GridView, oldRow: number, newRow:
137
137
  onValidateColumn: PropType<(grid: RealGrid.GridView, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined>;
138
138
  onValidateRow: PropType<(grid: RealGrid.GridView, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError>;
139
139
  onValidationFail: PropType<(grid: RealGrid.GridView, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError>;
140
- onColumnCheckedChanged: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, checked: boolean) => void>;
140
+ onColumnCheckedChanged: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, checked: boolean) => boolean | void>;
141
141
  onMenuItemClicked: PropType<(grid: RealGrid.GridView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
142
142
  onContextMenuPopup: PropType<(grid: RealGrid.GridView, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string>;
143
143
  onContextMenuItemClicked: PropType<(grid: RealGrid.GridView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
@@ -243,7 +243,7 @@ onCurrentRowChanged: PropType<(grid: RealGrid.GridView, oldRow: number, newRow:
243
243
  onValidateColumn: PropType<(grid: RealGrid.GridView, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined>;
244
244
  onValidateRow: PropType<(grid: RealGrid.GridView, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError>;
245
245
  onValidationFail: PropType<(grid: RealGrid.GridView, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError>;
246
- onColumnCheckedChanged: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, checked: boolean) => void>;
246
+ onColumnCheckedChanged: PropType<(grid: RealGrid.GridView, column: RealGrid.GridColumn, checked: boolean) => boolean | void>;
247
247
  onMenuItemClicked: PropType<(grid: RealGrid.GridView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
248
248
  onContextMenuPopup: PropType<(grid: RealGrid.GridView, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string>;
249
249
  onContextMenuItemClicked: PropType<(grid: RealGrid.GridView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
@@ -426,7 +426,7 @@ onCurrentRowChanged: PropType<(grid: RealGrid.TreeView, oldRow: number, newRow:
426
426
  onValidateColumn: PropType<(grid: RealGrid.TreeView, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined>;
427
427
  onValidateRow: PropType<(grid: RealGrid.TreeView, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError>;
428
428
  onValidationFail: PropType<(grid: RealGrid.TreeView, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError>;
429
- onColumnCheckedChanged: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, checked: boolean) => void>;
429
+ onColumnCheckedChanged: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, checked: boolean) => boolean | void>;
430
430
  onMenuItemClicked: PropType<(grid: RealGrid.TreeView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
431
431
  onContextMenuPopup: PropType<(grid: RealGrid.TreeView, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string>;
432
432
  onContextMenuItemClicked: PropType<(grid: RealGrid.TreeView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
@@ -532,7 +532,7 @@ onCurrentRowChanged: PropType<(grid: RealGrid.TreeView, oldRow: number, newRow:
532
532
  onValidateColumn: PropType<(grid: RealGrid.TreeView, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined>;
533
533
  onValidateRow: PropType<(grid: RealGrid.TreeView, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError>;
534
534
  onValidationFail: PropType<(grid: RealGrid.TreeView, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError>;
535
- onColumnCheckedChanged: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, checked: boolean) => void>;
535
+ onColumnCheckedChanged: PropType<(grid: RealGrid.TreeView, column: RealGrid.GridColumn, checked: boolean) => boolean | void>;
536
536
  onMenuItemClicked: PropType<(grid: RealGrid.TreeView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
537
537
  onContextMenuPopup: PropType<(grid: RealGrid.TreeView, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string>;
538
538
  onContextMenuItemClicked: PropType<(grid: RealGrid.TreeView, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "realgrid-vue",
3
3
  "private": false,
4
- "version": "0.9.7",
4
+ "version": "0.9.9",
5
5
  "description": "RealGrid2 wrapping Component for Vue3",
6
6
  "author": {
7
7
  "name": "WooriTech",
@@ -1 +0,0 @@
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, version } from 'vue'\n\nexport const isVue2 = () => {\n return version.split(\".\")[0] === \"2\"\n}\n\n\nexport const toCustomRaw = (props: any) => {\n return isVue2() ? props : toRaw(props); \n}\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, extractDiff, kebabToCamel } from './Utils'\nimport { PropType, VNode, defineComponent, h, toRaw, 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(toRaw(this.$props)) as any\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 toRaw(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 toRaw(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(toRaw(val))\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.dataProvider?.setRows(toRaw(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(toRaw(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 toRaw(this.$data.$gridView)\n },\n set(value: RealGrid.TreeView) {\n this.$gridView = value\n },\n },\n dataProvider: {\n get() {\n return toRaw(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(toRaw(value))\n break\n }\n }\n },\n _setData(options: { [key: string]: any }) {\n if (options.rows) {\n this.dataProvider?.setRows(toRaw(options.rows), this.treeField as string, this.needSorting, this.childrenField, this.iconField)\n } else if (options.json) {\n this.dataProvider?.setObjectRows(toRaw(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(toRaw(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(toRaw(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(toRaw(val), this.rowsProp!, this.childrenProp, this.iconProp)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.dataProvider?.setObjectRows(toRaw(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, toRaw } 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 = toRaw(this.$parent) as IRealBaseVue\n if (p) {\n this.$oldValue = kebabToCamel(toRaw(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(toRaw(val))\n const diff: ConfigObject = extractDiff({}, kebabToCamel(toRaw(this.$data.$oldValue)), kebabToCamel(toRaw(val)))\n if (diff && Object.keys(diff).length > 0) {\n const model = toRaw(this.$data?.$model)\n if (model && model.assignFrom) {\n model.assignFrom(value)\n }\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, toRaw } 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(toRaw(this.$parent?.$attrs!));\n if (pAttrs) {\n const props = kebabToCamel(toRaw(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.$data.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = toRaw(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, toRaw } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGStateBar = defineComponent({\n name: 'RGStateBar',\n extends: ComponentBase,\n props: {} as ComponentPropsOptions & IRealGridStateBar,\n data() {\n return {}\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setStateBar(kebabToCamel(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(this.$parent?.$props!));\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(toRaw(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(toRaw(this.$parent?.$props!));\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(toRaw(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 = toRaw(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, toRaw } 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(toRaw(this.$parent?.$attrs!));\n if (pAttrs) {\n const props = kebabToCamel(toRaw(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.$data.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = toRaw(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, toRaw } 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(toRaw(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","kebabToCamel","obj","prefix","ret","key","toRaw","extractDiff","target","origin","diff","exceptKey","value","dif","$_connectEvents","grid","provider","props","RealGridBase","defineComponent","container","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","_a","style","h","RealGridVue","callback","nextTick","RealTreeVue","_b","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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"}
@@ -1 +0,0 @@
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, version } from 'vue'\n\nexport const isVue2 = () => {\n return version.split(\".\")[0] === \"2\"\n}\n\n\nexport const toCustomRaw = (props: any) => {\n return isVue2() ? props : toRaw(props); \n}\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, extractDiff, kebabToCamel } from './Utils'\nimport { PropType, VNode, defineComponent, h, toRaw, 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(toRaw(this.$props)) as any\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 toRaw(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 toRaw(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(toRaw(val))\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.dataProvider?.setRows(toRaw(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(toRaw(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 toRaw(this.$data.$gridView)\n },\n set(value: RealGrid.TreeView) {\n this.$gridView = value\n },\n },\n dataProvider: {\n get() {\n return toRaw(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(toRaw(value))\n break\n }\n }\n },\n _setData(options: { [key: string]: any }) {\n if (options.rows) {\n this.dataProvider?.setRows(toRaw(options.rows), this.treeField as string, this.needSorting, this.childrenField, this.iconField)\n } else if (options.json) {\n this.dataProvider?.setObjectRows(toRaw(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(toRaw(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(toRaw(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(toRaw(val), this.rowsProp!, this.childrenProp, this.iconProp)\n })\n }\n\n callback.$mountSeq = Infinity\n this.addCallback(callback)\n } else {\n this.dataProvider?.setObjectRows(toRaw(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, toRaw } 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 = toRaw(this.$parent) as IRealBaseVue\n if (p) {\n this.$oldValue = kebabToCamel(toRaw(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(toRaw(val))\n const diff: ConfigObject = extractDiff({}, kebabToCamel(toRaw(this.$data.$oldValue)), kebabToCamel(toRaw(val)))\n if (diff && Object.keys(diff).length > 0) {\n const model = toRaw(this.$data?.$model)\n if (model && model.assignFrom) {\n model.assignFrom(value)\n }\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, toRaw } 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(toRaw(this.$parent?.$attrs!));\n if (pAttrs) {\n const props = kebabToCamel(toRaw(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.$data.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = toRaw(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, toRaw } from 'vue'\nimport * as RealGrid from 'realgrid'\nimport { kebabToCamel } from '../Utils'\n\nconst RGStateBar = defineComponent({\n name: 'RGStateBar',\n extends: ComponentBase,\n props: {} as ComponentPropsOptions & IRealGridStateBar,\n data() {\n return {}\n },\n methods: {\n mountCB(grid: RealGrid.GridBase) {\n grid.setStateBar(kebabToCamel(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(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, toRaw } 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(toRaw(this.$parent?.$props!));\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(toRaw(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(toRaw(this.$parent?.$props!));\n if (pAttrs) {\n const generateField = pAttrs.autoGenerateField;\n const dp = grid?.getDataSource();\n const props = kebabToCamel(toRaw(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 = toRaw(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, toRaw } 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(toRaw(this.$parent?.$attrs!));\n if (pAttrs) {\n const props = kebabToCamel(toRaw(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.$data.$model.name!);\n }\n },\n _doWatchAttrs(diff: ConfigObject) {\n if (diff.hasOwnProperty(\"width\") && !isNaN(diff[\"width\"])) {\n const column = toRaw(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, toRaw } 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(toRaw(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","kebabToCamel","obj","prefix","ret","key","toRaw","extractDiff","target","origin","diff","exceptKey","value","dif","$_connectEvents","grid","provider","props","RealGridBase","defineComponent","container","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","_a","style","h","RealGridVue","callback","nextTick","RealTreeVue","_b","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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"}