@visactor/vtable 1.5.2-alpha.0 → 1.5.2-alpha.1

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.
Files changed (47) hide show
  1. package/cjs/core/BaseTable.d.ts +2 -0
  2. package/cjs/core/BaseTable.js +7 -1
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/edit/edit-manager.d.ts +1 -2
  5. package/cjs/edit/edit-manager.js +14 -25
  6. package/cjs/edit/edit-manager.js.map +1 -1
  7. package/cjs/event/event.d.ts +3 -0
  8. package/cjs/event/event.js +8 -2
  9. package/cjs/event/event.js.map +1 -1
  10. package/cjs/event/listener/container-dom.js +2 -2
  11. package/cjs/event/listener/container-dom.js.map +1 -1
  12. package/cjs/event/listener/table-group.js +41 -53
  13. package/cjs/event/listener/table-group.js.map +1 -1
  14. package/cjs/event/listener/touch.js +12 -14
  15. package/cjs/event/listener/touch.js.map +1 -1
  16. package/cjs/index.d.ts +1 -1
  17. package/cjs/index.js +1 -1
  18. package/cjs/index.js.map +1 -1
  19. package/cjs/tools/helper.d.ts +0 -1
  20. package/cjs/tools/helper.js +3 -10
  21. package/cjs/tools/helper.js.map +1 -1
  22. package/cjs/vrender.js.map +1 -1
  23. package/dist/vtable.js +147 -167
  24. package/dist/vtable.min.js +2 -2
  25. package/es/core/BaseTable.d.ts +2 -0
  26. package/es/core/BaseTable.js +7 -1
  27. package/es/core/BaseTable.js.map +1 -1
  28. package/es/edit/edit-manager.d.ts +1 -2
  29. package/es/edit/edit-manager.js +13 -26
  30. package/es/edit/edit-manager.js.map +1 -1
  31. package/es/event/event.d.ts +3 -0
  32. package/es/event/event.js +8 -2
  33. package/es/event/event.js.map +1 -1
  34. package/es/event/listener/container-dom.js +2 -2
  35. package/es/event/listener/container-dom.js.map +1 -1
  36. package/es/event/listener/table-group.js +42 -54
  37. package/es/event/listener/table-group.js.map +1 -1
  38. package/es/event/listener/touch.js +12 -14
  39. package/es/event/listener/touch.js.map +1 -1
  40. package/es/index.d.ts +1 -1
  41. package/es/index.js +1 -1
  42. package/es/index.js.map +1 -1
  43. package/es/tools/helper.d.ts +0 -1
  44. package/es/tools/helper.js +0 -6
  45. package/es/tools/helper.js.map +1 -1
  46. package/es/vrender.js.map +1 -1
  47. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tools/helper.ts"],"names":[],"mappings":"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","file":"helper.js","sourcesContent":["/* Adapted from cheetah-grid by yosuke ota\n *url:https://github.com/future-architect/cheetah-grid/blob/master/packages/cheetah-grid/src/js/internal/utils.ts\n *License: https://github.com/future-architect/cheetah-grid/blob/master/LICENSE\n * @license\n */\nimport { validToString } from '../tools/util';\nimport type { CellPosition, CellRange, MaybeCall } from '../ts-types';\n\nconst isNode = typeof window === 'undefined' || typeof window.window === 'undefined';\n\ntype ArrayElementPredicate = (t: any, i: number, arr: any[]) => boolean;\n\nlet arrayFind: (arr: any[], predicate: ArrayElementPredicate) => any;\nlet arrayFindIndex: (arr: any[], predicate: ArrayElementPredicate) => number;\nconst array = {\n get find(): typeof arrayFind {\n if (arrayFind) {\n return arrayFind;\n }\n if (Array.prototype.find) {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => Array.prototype.find.call(arr, predicate);\n } else {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => {\n const index = array.findIndex(arr, predicate);\n return index >= 0 ? arr[index] : undefined;\n };\n }\n return arrayFind;\n },\n get findIndex(): typeof arrayFindIndex {\n if (arrayFindIndex) {\n return arrayFindIndex;\n }\n if (Array.prototype.findIndex) {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number =>\n Array.prototype.findIndex.call(arr, predicate);\n } else {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number => {\n const { length } = arr;\n for (let i = 0; i < length; i++) {\n const value = arr[i];\n if (predicate(value, i, arr)) {\n return i;\n }\n }\n return -1;\n };\n }\n return arrayFindIndex;\n }\n};\n\nfunction analyzeUserAgent(): {\n IE: boolean;\n Edge: boolean;\n Chrome: boolean;\n Firefox: boolean;\n Safari: boolean;\n} {\n if (isNode) {\n return {\n IE: false,\n Edge: false,\n Chrome: false,\n Firefox: false,\n Safari: false\n };\n }\n const ua = window.navigator.userAgent.toLowerCase();\n return {\n IE: !!/(msie|trident)/.exec(ua),\n Edge: ua.indexOf('edge') > -1,\n Chrome: ua.indexOf('chrome') > -1 && ua.indexOf('edge') === -1,\n Firefox: ua.indexOf('firefox') > -1,\n Safari: ua.indexOf('safari') > -1 && ua.indexOf('edge') === -1\n };\n}\nconst { IE, Chrome, Firefox, Edge, Safari } = analyzeUserAgent();\n\nfunction isObject(obj: any): obj is Record<string, any> {\n return obj === Object(obj);\n}\n\nexport function omit<T, K extends keyof T>(source: T, omits: K[]): Omit<T, K> {\n const result = {} as Omit<T, K>;\n for (const key in source) {\n if (omits.indexOf(key as never) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function defaults(source: any, defs: Partial<any>): any {\n const keys: string[] = [];\n const result = {};\n for (const key in source) {\n keys.push(key);\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n for (const key in defs) {\n if (keys.indexOf(key) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function extend<T, U>(t: T, u: U): T & U;\nexport function extend<T, U, V>(t: T, u: U, v: V): T & U & V;\nexport function extend<T>(...args: T[]): T;\nexport function extend<T>(...args: T[]): T {\n const result = {} as T;\n args.forEach(source => {\n for (const key in source) {\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n });\n return result;\n}\n\nfunction applyChainSafe(obj: any, fn: (value: any, name: string) => any, ...names: string[]): any {\n let value = obj;\n for (let i = 0; i < names.length && value !== null && value !== undefined; i++) {\n value = fn(value, names[i]);\n }\n return value;\n}\nfunction getChainSafe(obj: any, ...names: string[]): any {\n return applyChainSafe(obj, (val, name) => val[name], ...names);\n}\nfunction getOrApply<_T, A extends any[]>(value: undefined, ...args: A): undefined;\nfunction getOrApply<_T, A extends any[]>(value: null, ...args: A): null;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T {\n if (typeof value === 'function') {\n return (value as any)(...args);\n }\n return value;\n}\n\nfunction endsWith(str: string, searchString: string, position?: number): boolean {\n const subjectString = validToString(str);\n if (\n typeof position !== 'number' ||\n !isFinite(position) ||\n Math.floor(position) !== position ||\n position > subjectString.length\n ) {\n position = subjectString.length;\n }\n position -= searchString.length;\n const lastIndex = subjectString.lastIndexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\nexport function isPromise(data: any | Promise<any> | undefined): data is Promise<any> {\n return Boolean(data && typeof (data as Promise<any>).then === 'function');\n}\n\nexport function getPromiseValue<T=any>(value:T | Promise<T>, callback:(value:T)=>void){\n if (isPromise(value)) {\n value.then(result => {\n callback(result);\n }).catch((err: Error) => {\n console.error('Error:', err);\n });\n } else {\n callback(value);\n }\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n\nfunction getIgnoreCase(obj: any, name: string): any {\n if (obj[name]) {\n return obj[name];\n }\n const l = name.toLowerCase();\n if (obj[l]) {\n return obj[l];\n }\n const u = name.toLowerCase();\n if (obj[u]) {\n return obj[u];\n }\n for (const k in obj) {\n if (k.toLowerCase() === l) {\n return obj[k];\n }\n }\n return undefined;\n}\n\nfunction toBoxArray<T>(obj: T | T[]): [T, T, T, T] {\n if (!Array.isArray(obj)) {\n return [obj /*top*/, obj /*right*/, obj /*bottom*/, obj /*left*/];\n }\n if (obj.length === 3) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 2) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[0] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 1) {\n return [obj[0] /*top*/, obj[0] /*right*/, obj[0] /*bottom*/, obj[0] /*left*/];\n }\n // return obj as [T, T, T, T];//原先这种返回方式,会造成修改引用问题\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[3] /*left*/];\n}\n\nexport { isNode, getChainSafe, applyChainSafe, getOrApply, getIgnoreCase, array };\n\nexport function cellInRange(range: CellRange, col: number, row: number): boolean {\n return (\n (range.start.col <= col && col <= range.end.col && range.start.row <= row && row <= range.end.row) ||\n (range.end.col <= col && col <= range.start.col && range.end.row <= row && row <= range.start.row)\n );\n}\nexport function cellInRanges(ranges: CellRange[], col: number, row: number): boolean {\n // cell range may in wrong order\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n const startCol = Math.min(range.start.col, range.end.col);\n const endCol = Math.max(range.start.col, range.end.col);\n const startRow = Math.min(range.start.row, range.end.row);\n const endRow = Math.max(range.start.row, range.end.row);\n if (\n (startCol <= col && col <= endCol && startRow <= row && row <= endRow) ||\n (endCol <= col && col <= startCol && endRow <= row && row <= startRow)\n ) {\n return true;\n }\n }\n return false;\n}\nexport function adjust(range: CellRange): CellRange {\n const start = {\n col: Math.min(range.start.col, range.end.col),\n row: Math.min(range.start.row, range.end.row)\n };\n const end = {\n col: Math.max(range.start.col, range.end.col),\n row: Math.max(range.start.row, range.end.row)\n };\n return { start, end };\n}\nexport function rangeIntersected(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n const col0 = Math.max(rangeAdjust.start.col, range1Adjust.start.col);\n const col1 = Math.min(rangeAdjust.end.col, range1Adjust.end.col);\n if (col0 <= col1) {\n const row0 = Math.max(rangeAdjust.start.row, range1Adjust.start.row);\n const row1 = Math.min(rangeAdjust.end.row, range1Adjust.end.row);\n if (row0 <= row1) {\n return true;\n }\n }\n return false;\n}\nexport function rangeContained(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n if (\n rangeAdjust.start.col <= range1Adjust.start.col &&\n rangeAdjust.end.col >= range1Adjust.end.col &&\n rangeAdjust.start.row <= range1Adjust.start.row &&\n rangeAdjust.end.row >= range1Adjust.end.row\n ) {\n return true;\n }\n return false;\n}\nexport const browser = {\n IE,\n Edge,\n Chrome,\n Firefox,\n Safari,\n // Chrome 33554431\n // FireFox 17895588\n // IE 10737433\n heightLimit: Chrome ? 33554431 : Firefox ? 17895588 : 10737433 // default IE limit\n};\n\nexport const obj = {\n isObject\n};\nexport const str = {\n endsWith\n};\nexport const event = {\n isTouchEvent\n};\nexport const style = {\n toBoxArray\n};\nexport const emptyFn = Function.prototype;\n\nexport function cellInPlaneRange(\n col: number,\n row: number,\n rangePosStart: CellPosition,\n rangePosEnd: CellPosition\n): boolean {\n return (\n (rangePosStart.col <= col && col <= rangePosEnd.col && rangePosStart.row <= row && row <= rangePosEnd.row) ||\n (rangePosEnd.col <= col && col <= rangePosStart.col && rangePosEnd.row <= row && row <= rangePosStart.row)\n );\n}\n\n// 使用联合类型时 可解决不同属性调用飘红问题\nexport type Either<X, Y> =\n | ({\n [KX in keyof X]: X[KX];\n } & {\n [KY in Exclude<keyof Y, keyof X>]?: never;\n })\n | ({\n [KY in keyof Y]: Y[KY];\n } & {\n [KX in Exclude<keyof X, keyof Y>]?: never;\n });\n\n/** 判断两个矩形是否相交,不包括包含关系,如果相交返回true,否则返回falses */\nexport function checkIntersect(\n rectA: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n },\n rectB: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n }\n) {\n // 判断两个矩形是否有重叠部分\n if (rectA.x2 <= rectB.x1 || rectA.x1 >= rectB.x2 || rectA.y2 <= rectB.y1 || rectA.y1 >= rectB.y2) {\n return false;\n }\n // 判断是否为包含关系\n if (\n (rectA.x1 <= rectB.x1 && rectA.x2 >= rectB.x2 && rectA.y1 <= rectB.y1 && rectA.y2 >= rectB.y2) ||\n (rectB.x1 <= rectA.x1 && rectB.x2 >= rectA.x2 && rectB.y1 <= rectA.y1 && rectB.y2 >= rectA.y2)\n ) {\n return false;\n }\n return true;\n}\n"]}
1
+ {"version":3,"sources":["../src/tools/helper.ts"],"names":[],"mappings":"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","file":"helper.js","sourcesContent":["/* Adapted from cheetah-grid by yosuke ota\n *url:https://github.com/future-architect/cheetah-grid/blob/master/packages/cheetah-grid/src/js/internal/utils.ts\n *License: https://github.com/future-architect/cheetah-grid/blob/master/LICENSE\n * @license\n */\nimport { validToString } from '../tools/util';\nimport type { CellPosition, CellRange, MaybeCall } from '../ts-types';\n\nconst isNode = typeof window === 'undefined' || typeof window.window === 'undefined';\n\ntype ArrayElementPredicate = (t: any, i: number, arr: any[]) => boolean;\n\nlet arrayFind: (arr: any[], predicate: ArrayElementPredicate) => any;\nlet arrayFindIndex: (arr: any[], predicate: ArrayElementPredicate) => number;\nconst array = {\n get find(): typeof arrayFind {\n if (arrayFind) {\n return arrayFind;\n }\n if (Array.prototype.find) {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => Array.prototype.find.call(arr, predicate);\n } else {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => {\n const index = array.findIndex(arr, predicate);\n return index >= 0 ? arr[index] : undefined;\n };\n }\n return arrayFind;\n },\n get findIndex(): typeof arrayFindIndex {\n if (arrayFindIndex) {\n return arrayFindIndex;\n }\n if (Array.prototype.findIndex) {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number =>\n Array.prototype.findIndex.call(arr, predicate);\n } else {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number => {\n const { length } = arr;\n for (let i = 0; i < length; i++) {\n const value = arr[i];\n if (predicate(value, i, arr)) {\n return i;\n }\n }\n return -1;\n };\n }\n return arrayFindIndex;\n }\n};\n\nfunction analyzeUserAgent(): {\n IE: boolean;\n Edge: boolean;\n Chrome: boolean;\n Firefox: boolean;\n Safari: boolean;\n} {\n if (isNode) {\n return {\n IE: false,\n Edge: false,\n Chrome: false,\n Firefox: false,\n Safari: false\n };\n }\n const ua = window.navigator.userAgent.toLowerCase();\n return {\n IE: !!/(msie|trident)/.exec(ua),\n Edge: ua.indexOf('edge') > -1,\n Chrome: ua.indexOf('chrome') > -1 && ua.indexOf('edge') === -1,\n Firefox: ua.indexOf('firefox') > -1,\n Safari: ua.indexOf('safari') > -1 && ua.indexOf('edge') === -1\n };\n}\nconst { IE, Chrome, Firefox, Edge, Safari } = analyzeUserAgent();\n\nfunction isObject(obj: any): obj is Record<string, any> {\n return obj === Object(obj);\n}\n\nexport function omit<T, K extends keyof T>(source: T, omits: K[]): Omit<T, K> {\n const result = {} as Omit<T, K>;\n for (const key in source) {\n if (omits.indexOf(key as never) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function defaults(source: any, defs: Partial<any>): any {\n const keys: string[] = [];\n const result = {};\n for (const key in source) {\n keys.push(key);\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n for (const key in defs) {\n if (keys.indexOf(key) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function extend<T, U>(t: T, u: U): T & U;\nexport function extend<T, U, V>(t: T, u: U, v: V): T & U & V;\nexport function extend<T>(...args: T[]): T;\nexport function extend<T>(...args: T[]): T {\n const result = {} as T;\n args.forEach(source => {\n for (const key in source) {\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n });\n return result;\n}\n\nfunction applyChainSafe(obj: any, fn: (value: any, name: string) => any, ...names: string[]): any {\n let value = obj;\n for (let i = 0; i < names.length && value !== null && value !== undefined; i++) {\n value = fn(value, names[i]);\n }\n return value;\n}\nfunction getChainSafe(obj: any, ...names: string[]): any {\n return applyChainSafe(obj, (val, name) => val[name], ...names);\n}\nfunction getOrApply<_T, A extends any[]>(value: undefined, ...args: A): undefined;\nfunction getOrApply<_T, A extends any[]>(value: null, ...args: A): null;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T {\n if (typeof value === 'function') {\n return (value as any)(...args);\n }\n return value;\n}\n\nfunction endsWith(str: string, searchString: string, position?: number): boolean {\n const subjectString = validToString(str);\n if (\n typeof position !== 'number' ||\n !isFinite(position) ||\n Math.floor(position) !== position ||\n position > subjectString.length\n ) {\n position = subjectString.length;\n }\n position -= searchString.length;\n const lastIndex = subjectString.lastIndexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\nexport function isPromise(data: any | Promise<any> | undefined): data is Promise<any> {\n return Boolean(data && typeof (data as Promise<any>).then === 'function');\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n\nfunction getIgnoreCase(obj: any, name: string): any {\n if (obj[name]) {\n return obj[name];\n }\n const l = name.toLowerCase();\n if (obj[l]) {\n return obj[l];\n }\n const u = name.toLowerCase();\n if (obj[u]) {\n return obj[u];\n }\n for (const k in obj) {\n if (k.toLowerCase() === l) {\n return obj[k];\n }\n }\n return undefined;\n}\n\nfunction toBoxArray<T>(obj: T | T[]): [T, T, T, T] {\n if (!Array.isArray(obj)) {\n return [obj /*top*/, obj /*right*/, obj /*bottom*/, obj /*left*/];\n }\n if (obj.length === 3) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 2) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[0] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 1) {\n return [obj[0] /*top*/, obj[0] /*right*/, obj[0] /*bottom*/, obj[0] /*left*/];\n }\n // return obj as [T, T, T, T];//原先这种返回方式,会造成修改引用问题\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[3] /*left*/];\n}\n\nexport { isNode, getChainSafe, applyChainSafe, getOrApply, getIgnoreCase, array };\n\nexport function cellInRange(range: CellRange, col: number, row: number): boolean {\n return (\n (range.start.col <= col && col <= range.end.col && range.start.row <= row && row <= range.end.row) ||\n (range.end.col <= col && col <= range.start.col && range.end.row <= row && row <= range.start.row)\n );\n}\nexport function cellInRanges(ranges: CellRange[], col: number, row: number): boolean {\n // cell range may in wrong order\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n const startCol = Math.min(range.start.col, range.end.col);\n const endCol = Math.max(range.start.col, range.end.col);\n const startRow = Math.min(range.start.row, range.end.row);\n const endRow = Math.max(range.start.row, range.end.row);\n if (\n (startCol <= col && col <= endCol && startRow <= row && row <= endRow) ||\n (endCol <= col && col <= startCol && endRow <= row && row <= startRow)\n ) {\n return true;\n }\n }\n return false;\n}\nexport function adjust(range: CellRange): CellRange {\n const start = {\n col: Math.min(range.start.col, range.end.col),\n row: Math.min(range.start.row, range.end.row)\n };\n const end = {\n col: Math.max(range.start.col, range.end.col),\n row: Math.max(range.start.row, range.end.row)\n };\n return { start, end };\n}\nexport function rangeIntersected(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n const col0 = Math.max(rangeAdjust.start.col, range1Adjust.start.col);\n const col1 = Math.min(rangeAdjust.end.col, range1Adjust.end.col);\n if (col0 <= col1) {\n const row0 = Math.max(rangeAdjust.start.row, range1Adjust.start.row);\n const row1 = Math.min(rangeAdjust.end.row, range1Adjust.end.row);\n if (row0 <= row1) {\n return true;\n }\n }\n return false;\n}\nexport function rangeContained(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n if (\n rangeAdjust.start.col <= range1Adjust.start.col &&\n rangeAdjust.end.col >= range1Adjust.end.col &&\n rangeAdjust.start.row <= range1Adjust.start.row &&\n rangeAdjust.end.row >= range1Adjust.end.row\n ) {\n return true;\n }\n return false;\n}\nexport const browser = {\n IE,\n Edge,\n Chrome,\n Firefox,\n Safari,\n // Chrome 33554431\n // FireFox 17895588\n // IE 10737433\n heightLimit: Chrome ? 33554431 : Firefox ? 17895588 : 10737433 // default IE limit\n};\n\nexport const obj = {\n isObject\n};\nexport const str = {\n endsWith\n};\nexport const event = {\n isTouchEvent\n};\nexport const style = {\n toBoxArray\n};\nexport const emptyFn = Function.prototype;\n\nexport function cellInPlaneRange(\n col: number,\n row: number,\n rangePosStart: CellPosition,\n rangePosEnd: CellPosition\n): boolean {\n return (\n (rangePosStart.col <= col && col <= rangePosEnd.col && rangePosStart.row <= row && row <= rangePosEnd.row) ||\n (rangePosEnd.col <= col && col <= rangePosStart.col && rangePosEnd.row <= row && row <= rangePosStart.row)\n );\n}\n\n// 使用联合类型时 可解决不同属性调用飘红问题\nexport type Either<X, Y> =\n | ({\n [KX in keyof X]: X[KX];\n } & {\n [KY in Exclude<keyof Y, keyof X>]?: never;\n })\n | ({\n [KY in keyof Y]: Y[KY];\n } & {\n [KX in Exclude<keyof X, keyof Y>]?: never;\n });\n\n/** 判断两个矩形是否相交,不包括包含关系,如果相交返回true,否则返回falses */\nexport function checkIntersect(\n rectA: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n },\n rectB: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n }\n) {\n // 判断两个矩形是否有重叠部分\n if (rectA.x2 <= rectB.x1 || rectA.x1 >= rectB.x2 || rectA.y2 <= rectB.y1 || rectA.y1 >= rectB.y2) {\n return false;\n }\n // 判断是否为包含关系\n if (\n (rectA.x1 <= rectB.x1 && rectA.x2 >= rectB.x2 && rectA.y1 <= rectB.y1 && rectA.y2 >= rectB.y2) ||\n (rectB.x1 <= rectA.x1 && rectB.x2 >= rectA.x2 && rectB.y1 <= rectA.y1 && rectB.y2 >= rectA.y2)\n ) {\n return false;\n }\n return true;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAA8F;AAC9F,yDAqBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IAGf,IAAA,+BAAU,GAAE,CAAC;AACf,CAAC;AAjCD,gDAiCC;AAED,uDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAClB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.5.2-alpha.0\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n // registerShadowRoot();\n registerSymbol();\n registerText();\n // registerWrapText();\n\n loadPoptip();\n}\n\nexport { Direction } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
1
+ {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAA8F;AAC9F,yDAqBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IAGf,IAAA,+BAAU,GAAE,CAAC;AACf,CAAC;AAjCD,gDAiCC;AAED,uDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAClB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.5.2-alpha.1\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n // registerShadowRoot();\n registerSymbol();\n registerText();\n // registerWrapText();\n\n loadPoptip();\n}\n\nexport { Direction } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
package/dist/vtable.js CHANGED
@@ -44370,17 +44370,6 @@
44370
44370
  function isPromise(data) {
44371
44371
  return Boolean(data && typeof data.then === 'function');
44372
44372
  }
44373
- function getPromiseValue(value, callback) {
44374
- if (isPromise(value)) {
44375
- value.then(result => {
44376
- callback(result);
44377
- }).catch((err) => {
44378
- });
44379
- }
44380
- else {
44381
- callback(value);
44382
- }
44383
- }
44384
44373
  function isTouchEvent$2(e) {
44385
44374
  return !!e.changedTouches;
44386
44375
  }
@@ -64837,18 +64826,16 @@
64837
64826
  }
64838
64827
  }
64839
64828
  const isCompleteEdit = table.editorManager?.completeEdit(e.nativeEvent);
64840
- getPromiseValue(isCompleteEdit, (isCompleteEdit) => {
64841
- if (isCompleteEdit === false) {
64842
- return;
64843
- }
64844
- stateManager.updateInteractionState(InteractionState.default);
64845
- eventManager.dealTableHover();
64846
- if (table.options.select?.outsideClickDeselect) {
64847
- const isHasSelected = !!stateManager.select.ranges?.length;
64848
- eventManager.dealTableSelect();
64849
- stateManager.endSelectCells(true, isHasSelected);
64850
- }
64851
- });
64829
+ if (isCompleteEdit === false) {
64830
+ return;
64831
+ }
64832
+ stateManager.updateInteractionState(InteractionState.default);
64833
+ eventManager.dealTableHover();
64834
+ if (table.options.select?.outsideClickDeselect) {
64835
+ const isHasSelected = !!stateManager.select.ranges?.length;
64836
+ eventManager.dealTableSelect();
64837
+ stateManager.endSelectCells(true, isHasSelected);
64838
+ }
64852
64839
  });
64853
64840
  table.scenegraph.tableGroup.addEventListener('pointerdown', (e) => {
64854
64841
  if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {
@@ -64874,74 +64861,72 @@
64874
64861
  stateManager.hideMenu();
64875
64862
  }
64876
64863
  const isCompleteEdit = table.editorManager?.completeEdit(e.nativeEvent);
64877
- getPromiseValue(isCompleteEdit, (isCompleteEdit) => {
64878
- if (isCompleteEdit === false) {
64879
- return;
64880
- }
64881
- const hitIcon = eventArgsSet?.eventArgs?.target?.role?.startsWith('icon')
64882
- ? eventArgsSet.eventArgs.target
64883
- : e.target.role?.startsWith('icon')
64884
- ? e.target
64885
- : undefined;
64886
- eventManager.downIcon = hitIcon;
64887
- if (!hitIcon || hitIcon.attribute.interactive === false) {
64888
- if (e.pointerType === 'touch') {
64889
- eventManager.touchEnd = false;
64890
- eventManager.touchSetTimeout = setTimeout(() => {
64891
- eventManager.isTouchdown = false;
64892
- eventManager.touchMove = true;
64893
- if (!eventManager.touchEnd &&
64894
- (eventManager.checkColumnResize(eventArgsSet, true) || eventManager.checkRowResize(eventArgsSet, true))) {
64895
- stateManager.updateInteractionState(InteractionState.grabing);
64896
- return;
64897
- }
64898
- if (!eventManager.touchEnd && eventManager.chechColumnMover(eventArgsSet)) {
64899
- stateManager.updateInteractionState(InteractionState.grabing);
64900
- return;
64901
- }
64902
- if (eventManager.dealTableSelect(eventArgsSet) && !eventManager.touchEnd) {
64903
- stateManager.updateInteractionState(InteractionState.grabing);
64904
- }
64905
- }, 500);
64906
- eventManager.dealTableHover(eventArgsSet);
64907
- }
64908
- else {
64909
- if (!eventManager.checkCellFillhandle(eventArgsSet) &&
64864
+ if (isCompleteEdit === false) {
64865
+ return;
64866
+ }
64867
+ const hitIcon = eventArgsSet?.eventArgs?.target?.role?.startsWith('icon')
64868
+ ? eventArgsSet.eventArgs.target
64869
+ : e.target.role?.startsWith('icon')
64870
+ ? e.target
64871
+ : undefined;
64872
+ eventManager.downIcon = hitIcon;
64873
+ if (!hitIcon || hitIcon.attribute.interactive === false) {
64874
+ if (e.pointerType === 'touch') {
64875
+ eventManager.touchEnd = false;
64876
+ eventManager.touchSetTimeout = setTimeout(() => {
64877
+ eventManager.isTouchdown = false;
64878
+ eventManager.touchMove = true;
64879
+ if (!eventManager.touchEnd &&
64910
64880
  (eventManager.checkColumnResize(eventArgsSet, true) || eventManager.checkRowResize(eventArgsSet, true))) {
64911
- table.scenegraph.updateChartState(null);
64912
- stateManager.updateInteractionState(InteractionState.grabing);
64913
- return;
64914
- }
64915
- if (eventManager.chechColumnMover(eventArgsSet)) {
64916
64881
  stateManager.updateInteractionState(InteractionState.grabing);
64917
64882
  return;
64918
64883
  }
64919
- if (eventManager.checkCellFillhandle(eventArgsSet, true) && eventManager.dealFillSelect(eventArgsSet)) {
64884
+ if (!eventManager.touchEnd && eventManager.chechColumnMover(eventArgsSet)) {
64920
64885
  stateManager.updateInteractionState(InteractionState.grabing);
64921
64886
  return;
64922
64887
  }
64923
- if (eventManager.dealTableSelect(eventArgsSet)) {
64888
+ if (eventManager.dealTableSelect(eventArgsSet) && !eventManager.touchEnd) {
64924
64889
  stateManager.updateInteractionState(InteractionState.grabing);
64925
64890
  }
64926
- }
64927
- }
64928
- else if (hitIcon.attribute.funcType === IconFuncTypeEnum.dragReorder) {
64929
- stateManager.startMoveCol(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
64930
- stateManager.updateInteractionState(InteractionState.grabing);
64891
+ }, 500);
64892
+ eventManager.dealTableHover(eventArgsSet);
64931
64893
  }
64932
- if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {
64933
- const eventArgsSet = getCellEventArgsSet(e);
64934
- if (eventArgsSet.eventArgs) {
64935
- table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {
64936
- col: eventArgsSet.eventArgs.col,
64937
- row: eventArgsSet.eventArgs.row,
64938
- event: e.nativeEvent,
64939
- target: eventArgsSet?.eventArgs?.target,
64940
- mergeCellInfo: eventArgsSet.eventArgs.mergeInfo
64941
- });
64894
+ else {
64895
+ if (!eventManager.checkCellFillhandle(eventArgsSet) &&
64896
+ (eventManager.checkColumnResize(eventArgsSet, true) || eventManager.checkRowResize(eventArgsSet, true))) {
64897
+ table.scenegraph.updateChartState(null);
64898
+ stateManager.updateInteractionState(InteractionState.grabing);
64899
+ return;
64900
+ }
64901
+ if (eventManager.chechColumnMover(eventArgsSet)) {
64902
+ stateManager.updateInteractionState(InteractionState.grabing);
64903
+ return;
64904
+ }
64905
+ if (eventManager.checkCellFillhandle(eventArgsSet, true) && eventManager.dealFillSelect(eventArgsSet)) {
64906
+ stateManager.updateInteractionState(InteractionState.grabing);
64907
+ return;
64908
+ }
64909
+ if (eventManager.dealTableSelect(eventArgsSet)) {
64910
+ stateManager.updateInteractionState(InteractionState.grabing);
64942
64911
  }
64943
64912
  }
64944
- });
64913
+ }
64914
+ else if (hitIcon.attribute.funcType === IconFuncTypeEnum.dragReorder) {
64915
+ stateManager.startMoveCol(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
64916
+ stateManager.updateInteractionState(InteractionState.grabing);
64917
+ }
64918
+ if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {
64919
+ const eventArgsSet = getCellEventArgsSet(e);
64920
+ if (eventArgsSet.eventArgs) {
64921
+ table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {
64922
+ col: eventArgsSet.eventArgs.col,
64923
+ row: eventArgsSet.eventArgs.row,
64924
+ event: e.nativeEvent,
64925
+ target: eventArgsSet?.eventArgs?.target,
64926
+ mergeCellInfo: eventArgsSet.eventArgs.mergeInfo
64927
+ });
64928
+ }
64929
+ }
64945
64930
  });
64946
64931
  table.scenegraph.tableGroup.addEventListener('pointerup', (e) => {
64947
64932
  if (e.button !== 0) {
@@ -65104,32 +65089,30 @@
65104
65089
  stateManager.hideMenu();
65105
65090
  }
65106
65091
  const isCompleteEdit = table.editorManager?.completeEdit(e.nativeEvent);
65107
- getPromiseValue(isCompleteEdit, (isCompleteEdit) => {
65108
- if (isCompleteEdit === false) {
65109
- return;
65110
- }
65111
- const hitIcon = e.target.role?.startsWith('icon') ? e.target : undefined;
65112
- eventManager.downIcon = hitIcon;
65113
- if (!hitIcon &&
65114
- !eventManager.checkCellFillhandle(eventArgsSet) &&
65115
- !stateManager.columnResize.resizing &&
65116
- eventManager.checkColumnResize(eventArgsSet, true)) {
65117
- table.scenegraph.updateChartState(null);
65118
- stateManager.updateInteractionState(InteractionState.grabing);
65119
- const { eventArgs } = eventArgsSet;
65120
- if (!eventArgs?.targetCell) {
65121
- const cell = table.getCellAt(eventArgsSet.abstractPos.x - ResizeColumnHotSpotSize / 2, eventArgsSet.abstractPos.y);
65122
- if (cell) {
65123
- if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {
65124
- table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
65125
- event: e.nativeEvent
65126
- });
65127
- }
65092
+ if (isCompleteEdit === false) {
65093
+ return;
65094
+ }
65095
+ const hitIcon = e.target.role?.startsWith('icon') ? e.target : undefined;
65096
+ eventManager.downIcon = hitIcon;
65097
+ if (!hitIcon &&
65098
+ !eventManager.checkCellFillhandle(eventArgsSet) &&
65099
+ !stateManager.columnResize.resizing &&
65100
+ eventManager.checkColumnResize(eventArgsSet, true)) {
65101
+ table.scenegraph.updateChartState(null);
65102
+ stateManager.updateInteractionState(InteractionState.grabing);
65103
+ const { eventArgs } = eventArgsSet;
65104
+ if (!eventArgs?.targetCell) {
65105
+ const cell = table.getCellAt(eventArgsSet.abstractPos.x - ResizeColumnHotSpotSize / 2, eventArgsSet.abstractPos.y);
65106
+ if (cell) {
65107
+ if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {
65108
+ table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
65109
+ event: e.nativeEvent
65110
+ });
65128
65111
  }
65129
65112
  }
65130
- return;
65131
65113
  }
65132
- });
65114
+ return;
65115
+ }
65133
65116
  });
65134
65117
  table.scenegraph.stage.addEventListener('pointerup', (e) => {
65135
65118
  if (stateManager.interactionState === 'grabing') {
@@ -65652,7 +65635,9 @@
65652
65635
  eventManager.dealTableHover();
65653
65636
  });
65654
65637
  handler.on(table.getElement(), 'wheel', (e) => {
65655
- handleWhell(e, stateManager);
65638
+ if (table.eventManager._enableTableScroll) {
65639
+ handleWhell(e, stateManager);
65640
+ }
65656
65641
  });
65657
65642
  handler.on(table.getElement(), 'keydown', (e) => {
65658
65643
  if (e.key === 'a' && (e.ctrlKey || e.metaKey)) {
@@ -66119,7 +66104,10 @@
66119
66104
  }
66120
66105
  }
66121
66106
  const isSelecting = table.stateManager.isSelecting();
66122
- if (eventManager.isDraging && isSelecting && table.stateManager.select.ranges?.length > 0) {
66107
+ if (eventManager._enableTableScroll &&
66108
+ eventManager.isDraging &&
66109
+ isSelecting &&
66110
+ table.stateManager.select.ranges?.length > 0) {
66123
66111
  const drawRange = table.getDrawRange();
66124
66112
  const topFrozenRowHeight = table.getFrozenRowsHeight();
66125
66113
  const bottomFrozenRowHeight = table.getBottomFrozenRowsHeight();
@@ -66257,16 +66245,18 @@
66257
66245
  y: e.changedTouches[0].pageY,
66258
66246
  timestamp: Date.now()
66259
66247
  });
66260
- const deltaX = -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].x +
66261
- eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].x;
66262
- const deltaY = -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].y +
66263
- eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].y;
66264
- handleWhell({ deltaX, deltaY }, stateManager);
66265
- if (e.cancelable &&
66266
- (table.internalProps.overscrollBehavior === 'none' ||
66267
- (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, stateManager)) ||
66268
- (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, stateManager)))) {
66269
- e.preventDefault();
66248
+ if (eventManager._enableTableScroll) {
66249
+ const deltaX = -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].x +
66250
+ eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].x;
66251
+ const deltaY = -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].y +
66252
+ eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].y;
66253
+ handleWhell({ deltaX, deltaY }, stateManager);
66254
+ if (e.cancelable &&
66255
+ (table.internalProps.overscrollBehavior === 'none' ||
66256
+ (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, stateManager)) ||
66257
+ (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, stateManager)))) {
66258
+ e.preventDefault();
66259
+ }
66270
66260
  }
66271
66261
  }
66272
66262
  };
@@ -66295,14 +66285,16 @@
66295
66285
  y: e.changedTouches[0].pageY,
66296
66286
  timestamp: Date.now()
66297
66287
  });
66298
- const firstPoint = eventManager.touchMovePoints[0];
66299
- const lastPoint = eventManager.touchMovePoints[eventManager.touchMovePoints?.length - 1];
66300
- const vX = (lastPoint.x - firstPoint.x) / (lastPoint.timestamp - firstPoint.timestamp);
66301
- const vY = (lastPoint.y - firstPoint.y) / (lastPoint.timestamp - firstPoint.timestamp);
66302
- eventManager.inertiaScroll.startInertia(vX, vY, 0.95);
66303
- table.eventManager.inertiaScroll.setScrollHandle((dx, dy) => {
66304
- handleWhell({ deltaX: -dx, deltaY: -dy }, table.stateManager);
66305
- });
66288
+ if (eventManager._enableTableScroll) {
66289
+ const firstPoint = eventManager.touchMovePoints[0];
66290
+ const lastPoint = eventManager.touchMovePoints[eventManager.touchMovePoints?.length - 1];
66291
+ const vX = (lastPoint.x - firstPoint.x) / (lastPoint.timestamp - firstPoint.timestamp);
66292
+ const vY = (lastPoint.y - firstPoint.y) / (lastPoint.timestamp - firstPoint.timestamp);
66293
+ eventManager.inertiaScroll.startInertia(vX, vY, 0.95);
66294
+ table.eventManager.inertiaScroll.setScrollHandle((dx, dy) => {
66295
+ handleWhell({ deltaX: -dx, deltaY: -dy }, table.stateManager);
66296
+ });
66297
+ }
66306
66298
  }
66307
66299
  }
66308
66300
  eventManager.isTouchdown = false;
@@ -66478,6 +66470,7 @@
66478
66470
  globalEventListeners = [];
66479
66471
  inertiaScroll;
66480
66472
  bindSparklineHoverEvent;
66473
+ _enableTableScroll = true;
66481
66474
  constructor(table) {
66482
66475
  this.table = table;
66483
66476
  this.handleTextStickBindId = [];
@@ -66829,6 +66822,12 @@
66829
66822
  });
66830
66823
  this.globalEventListeners = [];
66831
66824
  }
66825
+ enableScroll() {
66826
+ this._enableTableScroll = true;
66827
+ }
66828
+ disableScroll() {
66829
+ this._enableTableScroll = false;
66830
+ }
66832
66831
  }
66833
66832
 
66834
66833
  let defaultStyle$1;
@@ -70222,7 +70221,7 @@
70222
70221
  return TABLE_EVENT_TYPE;
70223
70222
  }
70224
70223
  options;
70225
- version = "1.5.2-alpha.0";
70224
+ version = "1.5.2-alpha.1";
70226
70225
  pagination;
70227
70226
  id = `VTable${Date.now()}`;
70228
70227
  headerStyleCache;
@@ -72925,6 +72924,12 @@
72925
72924
  this.scenegraph.component.hideMoveCol();
72926
72925
  this.scenegraph.renderSceneGraph();
72927
72926
  }
72927
+ disableScroll() {
72928
+ this.eventManager.disableScroll();
72929
+ }
72930
+ enableScroll() {
72931
+ this.eventManager.enableScroll();
72932
+ }
72928
72933
  }
72929
72934
 
72930
72935
  var core = /*#__PURE__*/Object.freeze({
@@ -75362,50 +75367,25 @@
75362
75367
  }
75363
75368
  }
75364
75369
  if (!this.editingEditor.getValue) ;
75365
- if (this.editingEditor.validateValue) {
75366
- const maybePromiseOrValue = this.editingEditor.validateValue?.();
75367
- if (isPromise(maybePromiseOrValue)) {
75368
- return new Promise((resolve, reject) => {
75369
- maybePromiseOrValue
75370
- .then(result => {
75371
- if (result) {
75372
- this.doExit();
75373
- resolve(true);
75374
- }
75375
- else {
75376
- resolve(false);
75377
- }
75378
- })
75379
- .catch((err) => {
75380
- reject(err);
75381
- });
75382
- });
75383
- }
75384
- else if (maybePromiseOrValue) {
75385
- this.doExit();
75386
- return true;
75387
- }
75388
- return false;
75389
- }
75390
- this.doExit();
75391
- return true;
75392
- }
75393
- doExit() {
75394
- const changedValue = this.editingEditor.getValue?.();
75395
- const range = this.table.getCellRange(this.editCell.col, this.editCell.row);
75396
- const changedValues = [];
75397
- for (let row = range.start.row; row <= range.end.row; row++) {
75398
- const rowChangedValues = [];
75399
- for (let col = range.start.col; col <= range.end.col; col++) {
75400
- rowChangedValues.push(changedValue);
75401
- }
75402
- changedValues.push(rowChangedValues);
75370
+ if (!this.editingEditor.validateValue || this.editingEditor.validateValue?.()) {
75371
+ const changedValue = this.editingEditor.getValue?.();
75372
+ const range = this.table.getCellRange(this.editCell.col, this.editCell.row);
75373
+ const changedValues = [];
75374
+ for (let row = range.start.row; row <= range.end.row; row++) {
75375
+ const rowChangedValues = [];
75376
+ for (let col = range.start.col; col <= range.end.col; col++) {
75377
+ rowChangedValues.push(changedValue);
75378
+ }
75379
+ changedValues.push(rowChangedValues);
75380
+ }
75381
+ this.table.changeCellValues(range.start.col, range.start.row, changedValues);
75382
+ this.editingEditor.exit && (void 0);
75383
+ this.editingEditor.exit?.();
75384
+ this.editingEditor.onEnd?.();
75385
+ this.editingEditor = null;
75386
+ return true;
75403
75387
  }
75404
- this.table.changeCellValues(range.start.col, range.start.row, changedValues);
75405
- this.editingEditor.exit && (void 0);
75406
- this.editingEditor.exit?.();
75407
- this.editingEditor.onEnd?.();
75408
- this.editingEditor = null;
75388
+ return false;
75409
75389
  }
75410
75390
  cancelEdit() {
75411
75391
  if (this.editingEditor) {
@@ -88615,7 +88595,7 @@
88615
88595
  }
88616
88596
 
88617
88597
  registerForVrender();
88618
- const version = "1.5.2-alpha.0";
88598
+ const version = "1.5.2-alpha.1";
88619
88599
  function getIcons() {
88620
88600
  return get$2();
88621
88601
  }