@zhenliang/sheet 0.0.7 → 0.1.0
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/README.md +3 -2
- package/dist/core/config.js +1 -2
- package/dist/core/editor/cascaderEditor/index.js +14 -7
- package/dist/core/editor/dateEditor/index.d.ts +2 -1
- package/dist/core/editor/dateEditor/index.js +44 -36
- package/dist/core/editor/index.d.ts +1 -1
- package/dist/core/editor/index.js +2 -3
- package/dist/core/editor/numberEditor/index.d.ts +1 -1
- package/dist/core/editor/numberEditor/index.js +53 -5
- package/dist/core/editor/numberEditor/index.less +1 -0
- package/dist/core/editor/selectEditor/index.d.ts +1 -1
- package/dist/core/editor/selectEditor/index.js +34 -5
- package/dist/core/reducers/index.d.ts +1 -1
- package/dist/core/reducers/index.js +3 -2
- package/dist/core/reducers/keyboardReducer.js +2 -3
- package/dist/core/reducers/mouseReducer.js +1 -2
- package/dist/core/reducers/sideEffectReducer.js +61 -26
- package/dist/core/reducers/stateReducer.js +38 -9
- package/dist/core/sheet/Cell.js +37 -15
- package/dist/core/sheet/DataEditor.js +4 -2
- package/dist/core/sheet/DefaultCell.js +1 -2
- package/dist/core/sheet/DefaultRow.d.ts +1 -0
- package/dist/core/sheet/DefaultRow.js +5 -3
- package/dist/core/sheet/DefaultRowMapper.js +1 -2
- package/dist/core/sheet/DefaultShell.js +1 -2
- package/dist/core/sheet/Event.js +2 -3
- package/dist/core/sheet/ValueViewer.js +1 -2
- package/dist/core/sheet/index.js +60 -20
- package/dist/core/sheet/index.less +20 -11
- package/dist/core/sheet/useCellEvent.js +1 -2
- package/dist/core/sheet/useContextMenu.d.ts +1 -1
- package/dist/core/sheet/useContextMenu.js +2 -3
- package/dist/core/sheet/useKeyBoardEvent.js +15 -3
- package/dist/core/sheet/useMouseEvent.js +3 -4
- package/dist/core/sheet/useSelectVisible.d.ts +2 -0
- package/dist/core/sheet/useSelectVisible.js +48 -0
- package/dist/core/sheet/useVirtualList.d.ts +1 -1
- package/dist/core/sheet/useVirtualList.js +24 -12
- package/dist/core/shell/draggableShell/index.js +21 -13
- package/dist/core/shell/tableShell.js +9 -6
- package/dist/core/table/events.d.ts +15 -0
- package/dist/core/table/events.js +94 -0
- package/dist/core/table/index.js +91 -112
- package/dist/core/table/useGroupConfig.js +24 -7
- package/dist/core/table/useRowSelection.d.ts +2 -1
- package/dist/core/table/useRowSelection.js +1 -2
- package/dist/core/table/util.js +2 -3
- package/dist/core/util.d.ts +5 -2
- package/dist/core/util.js +97 -16
- package/dist/core/viewer/btnViewer/index.js +2 -3
- package/dist/core/viewer/cascaderViewer/index.d.ts +2 -0
- package/dist/core/viewer/cascaderViewer/index.js +11 -0
- package/dist/core/viewer/checkViewer/index.js +2 -3
- package/dist/core/viewer/editViewer/index.js +2 -3
- package/dist/core/viewer/groupViewer/index.js +5 -3
- package/dist/core/viewer/index.d.ts +1 -0
- package/dist/core/viewer/index.js +2 -2
- package/dist/core/viewer/selectorViewer/index.d.ts +2 -0
- package/dist/core/viewer/selectorViewer/index.js +12 -0
- package/dist/core/viewer/switchViewer/index.js +2 -3
- package/dist/example/antComponent.js +60 -14
- package/dist/example/basic.js +2 -3
- package/dist/example/ellipsis.js +1 -2
- package/dist/example/fixed.js +1 -2
- package/dist/example/group.js +42 -4
- package/dist/example/selection.js +2 -3
- package/dist/example/sheet.js +52 -16
- package/dist/example/valuationAnalyze.js +20 -18
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useEventBus.js +1 -2
- package/dist/hooks/useKeyboard.js +1 -2
- package/dist/hooks/useMiddlewareReducer.js +1 -2
- package/dist/hooks/useMouse.js +35 -20
- package/dist/hooks/useSetState.js +1 -2
- package/dist/hooks/useSheetEvent.js +1 -2
- package/dist/hooks/useWidthConfig.d.ts +4 -0
- package/dist/hooks/useWidthConfig.js +5 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -1
- package/dist/standardUtils/index.js +2 -3
- package/dist/type/index.js +1 -2
- package/dist/type/sheet.d.ts +14 -3
- package/dist/type/sheet.js +1 -2
- package/dist/type/sheetTable.d.ts +45 -16
- package/dist/type/sheetTable.js +1 -2
- package/package.json +1 -1
- package/dist/core/config.js.map +0 -1
- package/dist/core/editor/cascaderEditor/index.js.map +0 -1
- package/dist/core/editor/dateEditor/index.js.map +0 -1
- package/dist/core/editor/index.js.map +0 -1
- package/dist/core/editor/numberEditor/index.js.map +0 -1
- package/dist/core/editor/selectEditor/index.js.map +0 -1
- package/dist/core/reducers/index.js.map +0 -1
- package/dist/core/reducers/keyboardReducer.js.map +0 -1
- package/dist/core/reducers/mouseReducer.js.map +0 -1
- package/dist/core/reducers/sideEffectReducer.js.map +0 -1
- package/dist/core/reducers/stateReducer.js.map +0 -1
- package/dist/core/sheet/Cell.js.map +0 -1
- package/dist/core/sheet/DataEditor.js.map +0 -1
- package/dist/core/sheet/DefaultCell.js.map +0 -1
- package/dist/core/sheet/DefaultRow.js.map +0 -1
- package/dist/core/sheet/DefaultRowMapper.js.map +0 -1
- package/dist/core/sheet/DefaultShell.js.map +0 -1
- package/dist/core/sheet/Event.js.map +0 -1
- package/dist/core/sheet/ValueViewer.js.map +0 -1
- package/dist/core/sheet/index.js.map +0 -1
- package/dist/core/sheet/useCellEvent.js.map +0 -1
- package/dist/core/sheet/useContextMenu.js.map +0 -1
- package/dist/core/sheet/useKeyBoardEvent.js.map +0 -1
- package/dist/core/sheet/useMouseEvent.js.map +0 -1
- package/dist/core/sheet/useVirtualList.js.map +0 -1
- package/dist/core/shell/draggableShell/index.js.map +0 -1
- package/dist/core/shell/tableShell.js.map +0 -1
- package/dist/core/table/index.js.map +0 -1
- package/dist/core/table/useGroupConfig.js.map +0 -1
- package/dist/core/table/useRowSelection.js.map +0 -1
- package/dist/core/table/util.js.map +0 -1
- package/dist/core/util.js.map +0 -1
- package/dist/core/viewer/btnViewer/index.js.map +0 -1
- package/dist/core/viewer/checkViewer/index.js.map +0 -1
- package/dist/core/viewer/editViewer/index.js.map +0 -1
- package/dist/core/viewer/groupViewer/index.js.map +0 -1
- package/dist/core/viewer/index.js.map +0 -1
- package/dist/core/viewer/switchViewer/index.js.map +0 -1
- package/dist/example/antComponent.js.map +0 -1
- package/dist/example/basic.js.map +0 -1
- package/dist/example/ellipsis.js.map +0 -1
- package/dist/example/fixed.js.map +0 -1
- package/dist/example/group.js.map +0 -1
- package/dist/example/selection.js.map +0 -1
- package/dist/example/sheet.js.map +0 -1
- package/dist/example/valuationAnalyze.js.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useEventBus.js.map +0 -1
- package/dist/hooks/useKeyboard.js.map +0 -1
- package/dist/hooks/useMiddlewareReducer.js.map +0 -1
- package/dist/hooks/useMouse.js.map +0 -1
- package/dist/hooks/useSetState.js.map +0 -1
- package/dist/hooks/useSheetEvent.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/standardUtils/index.js.map +0 -1
- package/dist/type/index.js.map +0 -1
- package/dist/type/sheet.js.map +0 -1
- package/dist/type/sheetTable.js.map +0 -1
package/dist/core/util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cloneDeep","isNil","range","findParentTd","el","tagName","parentElement","extractDataRowAndCol","row","Number","getAttribute","col","getRowColConfig","start","end","_start$row","_end$row","_start$row2","_end$row2","_start$col","_end$col","_start$col2","_end$col2","startRow","Math","min","endRow","max","startCol","endCol","flatRowColIndex","_getRowColConfig","some","a","cellList","i","j","push","flatRowCol","rowColIndex","map","_ref","concat","isInputKey","keyCode","numbersPressed","lettersPressed","latin1Supplement","numPadKeysPressed","equationKeysPressed","indexOf","classNames","_len","arguments","length","args","Array","_key","filter","Boolean","join","stringToClipboardData","str","navigator","clipboard","writeText","then","console","log","error","defaultParsePaste","split","clipboardDataToString","Promise","resolve","readText","res","formatDataToCell","_ref2","_start$row3","_end$row3","editing","data","pasteData","groupConfig","_ref2$freePaste","freePaste","cells","rowCount","isMultiCells","isSinglePaste","isExRow","groupMap","groupConfigToGroupMap","actualRowCount","reduce","left","index","_groupMap$get","_groupMap$get2","get","isStart","isOpen","changes","forEach","_ref3","_groupMap$get3","_groupMap$get4","readonly","value","_cells$","extChanges","hasStartAndNotOpen","rowData","cell","_data","_data2","_groupMap$get5","_groupMap$get6","undefined","baseCol","pasteCount","_ref4","_groupMap$get7","_groupMap$get8","defaultValueRenderer","renderValue","optionsTransferToValue","options","val","values","_options$i","label","children","_toConsumableArray","rowGroupConfig","_rowGroupConfig$group","Map","groups","group","groupStart","groupEnd","set","_objectSpread","groupOpen","changeGroupConfig","changeInfo","size","newGroups","add","remove","_newGroups$i","_newGroups$_i","rowToActualRow","item","getRowHeight","container","_container$getElement","_container$getElement2","h","getElementsByTagName","parentNode","clientHeight","getNextVisibleRow","maxRow","_groupMap$get9","_groupMap$get10","calcMenuPosition","_ref5","_menuElement$getBound","_tableElement$getBoun","tableElement","menuElement","x","y","top","_ref6","getBoundingClientRect","menuRight","right","menuBottom","bottom","_ref7","tableBottom","tableRight","_document$body","document","body","clientWidth","edgeRight","edgeBottom"],"sources":["../../src/core/util.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport { cloneDeep, isNil, range } from 'lodash';\n\nexport function findParentTd(el: HTMLElement): HTMLElement | null {\n if (!el) return null;\n if (el.tagName === 'TD') return el;\n return findParentTd(el.parentElement as HTMLElement);\n}\nexport function extractDataRowAndCol(el: HTMLElement) {\n const row = Number(el.getAttribute('data-row'));\n const col = Number(el.getAttribute('data-col'));\n return {\n row,\n col,\n };\n}\nexport function getRowColConfig(\n start?: SheetType.CellPosition,\n end?: SheetType.CellPosition,\n) {\n const startRow = Math.min(start?.row ?? -1, end?.row ?? -1);\n const endRow = Math.max(start?.row ?? -1, end?.row ?? -1);\n const startCol = Math.min(start?.col ?? -1, end?.col ?? -1);\n const endCol = Math.max(start?.col ?? -1, end?.col ?? -1);\n return {\n startRow,\n endRow,\n startCol,\n endCol,\n };\n}\n\nexport function flatRowColIndex(\n start?: SheetType.CellPosition,\n end?: SheetType.CellPosition,\n) {\n const { startRow, endRow, startCol, endCol } = getRowColConfig(start, end);\n if ([startRow, endRow, startCol, endCol].some((a) => a === -1)) {\n return [];\n }\n const cellList: SheetType.CellPosition[] = [];\n\n for (let i = startRow; i <= endRow; i++) {\n for (let j = startCol; j <= endCol; j++) {\n cellList.push({ row: i, col: j });\n }\n }\n return cellList;\n}\n\nexport function flatRowCol(\n start?: SheetType.CellPosition,\n end?: SheetType.CellPosition,\n) {\n const rowColIndex = flatRowColIndex(start, end);\n return rowColIndex.map(({ row, col }) => `${row}-${col}`);\n}\n\nexport function isInputKey(keyCode: number) {\n const numbersPressed = keyCode >= 48 && keyCode <= 57;\n const lettersPressed = keyCode >= 65 && keyCode <= 90;\n const latin1Supplement = keyCode >= 160 && keyCode <= 255;\n const numPadKeysPressed = keyCode >= 96 && keyCode <= 105;\n const equationKeysPressed =\n [\n 187 /* equal */, 189 /* substract */, 190 /* period */, 107 /* add */,\n 109 /* decimal point */, 110,\n ].indexOf(keyCode) > -1;\n\n return (\n numPadKeysPressed ||\n numbersPressed ||\n lettersPressed ||\n latin1Supplement ||\n equationKeysPressed\n );\n}\n\nexport function classNames(...args: (string | null | undefined)[]) {\n return args.filter(Boolean).join(' ');\n}\n\nexport function stringToClipboardData(str: string) {\n // navigator.clipboard.writeText(str);\n navigator.clipboard.writeText(str).then(\n () => {\n console.log('复制成功');\n },\n () => {\n console.error('复制失败');\n },\n );\n}\n\nexport const defaultParsePaste = (str: string) =>\n str.split(/\\r\\n|\\n|\\r/).map((row) => row.split('\\t'));\nexport function clipboardDataToString() {\n return new Promise<string[][]>((resolve) => {\n navigator.clipboard.readText().then((res) => {\n resolve(defaultParsePaste(res) as string[][]);\n });\n });\n}\n\nexport function formatDataToCell({\n start,\n editing,\n end,\n data,\n pasteData,\n groupConfig,\n freePaste = false,\n}: Partial<SheetType.UpdateStateType> & {\n pasteData: string[][];\n freePaste: boolean;\n}) {\n if (editing || !data) return;\n const cells = flatRowColIndex(start, end);\n if (!cells.length) return;\n const rowCount = cells[cells.length - 1].row - cells[0].row + 1;\n if (!cells.length) return;\n const isMultiCells = cells.length > 1;\n const isSinglePaste = pasteData.length === 1 && pasteData[0].length === 1;\n\n // todo 超出行的处理\n const isExRow = (cells[cells.length - 1].row as number) > (data?.length || 0);\n\n const groupMap = groupConfigToGroupMap(groupConfig);\n const actualRowCount = range(start?.row ?? 0, (end?.row ?? 0) + 1).reduce(\n (left, index) => {\n if (\n groupMap.get(index) &&\n !groupMap.get(index)?.isStart &&\n !groupMap.get(index)?.isOpen\n ) {\n return left;\n }\n return left + 1;\n },\n 0,\n );\n\n const changes: SheetType.CellData[] = [];\n if (isMultiCells && isSinglePaste) {\n // 选中多个单元格,粘贴单个数据\n cells.forEach(({ row, col }) => {\n if (data[row][col].readonly) return;\n if (\n groupMap.get(row) &&\n !groupMap.get(row)?.isStart &&\n !groupMap.get(row)?.isOpen\n ) {\n return;\n }\n\n changes.push({\n row,\n col,\n value: pasteData[0][0],\n } as any);\n });\n return { changes };\n }\n\n if (!isMultiCells) {\n // 选中单个单元格\n const { row, col } = cells[0];\n const extChanges: SheetType.CellData[] = [];\n let hasStartAndNotOpen = false;\n pasteData.forEach((rowData, i) => {\n rowData.forEach((cell, j) => {\n if (row + i >= data.length) {\n extChanges.push({\n row: row + i,\n col: col + j,\n value: pasteData[i][j],\n } as any);\n } else {\n if (data?.[row + i]?.[col + j]?.readonly) return;\n\n if (\n groupMap.get(row + i) &&\n !groupMap.get(row + i)?.isStart &&\n !groupMap.get(row + i)?.isOpen\n ) {\n hasStartAndNotOpen = true;\n }\n changes.push({\n row: row + i,\n col: col + j,\n value: pasteData[i][j],\n } as any);\n }\n });\n });\n if (hasStartAndNotOpen) {\n console.error('有折叠单元格,不可粘贴');\n return { changes: [], extChanges: [] };\n }\n\n return {\n changes,\n extChanges: isExRow && freePaste ? extChanges : undefined,\n };\n } else {\n // 选中多个单元格,粘贴多个数据\n if (\n actualRowCount !== pasteData.length ||\n (cells.length / rowCount) * actualRowCount !==\n pasteData.length * pasteData[0].length\n ) {\n // 单元格数量不对\n return;\n }\n\n const { col: baseCol } = cells[0];\n let pasteCount = 0;\n cells.forEach(({ row, col }) => {\n if (data[row][col].readonly) return;\n if (\n groupMap.get(row) &&\n !groupMap.get(row)?.isStart &&\n !groupMap.get(row)?.isOpen\n ) {\n return;\n }\n changes.push({\n row: row,\n col: col,\n value: pasteData[pasteCount++][col - baseCol],\n } as any);\n });\n return { changes };\n }\n}\n\nexport const defaultValueRenderer = (cell: SheetType.Cell) => cell.value;\n\nexport function renderValue(cell: SheetType.Cell) {\n const value = defaultValueRenderer(cell);\n return value === null || typeof value === 'undefined' ? '' : value;\n}\n\nexport const optionsTransferToValue = (\n options: SheetType.OptionsType[],\n val: string,\n) => {\n let values: string[] = [];\n\n for (let i = 0; i < options.length; i++) {\n const { label, value, children } = options[i];\n if (children) {\n values = optionsTransferToValue(children, val);\n if (values.length) {\n values = [value, ...values];\n break;\n }\n } else if (label === val) {\n values.push(value);\n break;\n } else {\n values = [];\n }\n }\n return values;\n};\n\nexport const groupConfigToGroupMap = (\n rowGroupConfig?: SheetType.RowGroupConfig,\n) => {\n const groupMap = new Map<\n number,\n SheetType.RowGroup & { isStart: boolean; isOpen: boolean }\n >();\n if (!rowGroupConfig || !rowGroupConfig.groups?.length) return groupMap;\n const { groups } = rowGroupConfig;\n groups?.forEach((group, index) => {\n const { groupStart, groupEnd } = group;\n for (let i = groupStart; i <= groupEnd; i++) {\n groupMap.set(i, {\n ...group,\n isStart: i === groupStart,\n isOpen: rowGroupConfig.groupOpen[index],\n });\n }\n });\n return groupMap;\n};\n\nexport const changeGroupConfig = (\n rowGroupConfig: SheetType.RowGroupConfig,\n changeInfo: { add?: number; remove?: number },\n) => {\n const groupMap = groupConfigToGroupMap(rowGroupConfig);\n if (!groupMap.size) return rowGroupConfig;\n const newGroups = cloneDeep(rowGroupConfig.groups);\n // 顺序是先增后减\n const { add, remove } = changeInfo;\n if (!isNil(add)) {\n for (let i = 0; i < newGroups.length; i++) {\n const { groupStart, groupEnd } = newGroups[i];\n if (groupStart >= add) {\n newGroups[i].groupStart++;\n newGroups[i].groupEnd++;\n } else if (groupStart < add && groupEnd >= add) {\n newGroups[i].groupEnd++;\n }\n }\n }\n if (!isNil(remove)) {\n for (let i = 0; i < newGroups.length; i++) {\n const { groupStart, groupEnd } = newGroups[i];\n if (groupStart > remove) {\n newGroups[i].groupStart--;\n newGroups[i].groupEnd--;\n } else if (groupStart <= remove && groupEnd > remove) {\n newGroups[i].groupEnd--;\n }\n }\n }\n return {\n ...rowGroupConfig,\n groups: newGroups,\n };\n};\n\nexport const rowToActualRow = (\n row: number,\n groupConfig?: SheetType.RowGroupConfig,\n) => {\n const groupMap = groupConfigToGroupMap(groupConfig);\n if (!groupMap.size) return row;\n groupMap.forEach((item, index) => {\n if (index <= row && !item?.isOpen && !item?.isStart) {\n row--;\n }\n });\n return row;\n};\n\nexport const getRowHeight = (container: HTMLSpanElement) => {\n const h =\n (container.getElementsByTagName('td')[0]?.parentNode as HTMLTableRowElement)\n ?.clientHeight || 30;\n\n return h;\n};\n\nexport const getNextVisibleRow = (\n row: number,\n maxRow: number,\n groupMap?: Map<\n number,\n SheetType.RowGroup & { isStart: boolean; isOpen: boolean }\n >,\n): number | null => {\n if (!groupMap?.size) {\n return row;\n }\n if (row > maxRow) {\n return null;\n }\n if (\n groupMap.get(row) &&\n !groupMap.get(row)?.isOpen &&\n !groupMap.get(row)?.isStart\n ) {\n return getNextVisibleRow(row + 1, maxRow, groupMap);\n }\n return row;\n};\n\nexport const calcMenuPosition = ({\n tableElement,\n menuElement,\n x,\n y,\n}: {\n tableElement: SheetType.refAssertion | null;\n menuElement?: Element | null;\n x: number;\n y: number;\n}) => {\n let top = y;\n let left = x;\n const { right: menuRight, bottom: menuBottom } =\n menuElement?.getBoundingClientRect() ?? ({} as Record<string, number>);\n // 这里不考虑 左边和上边 因为 屏幕连一个 menu都发不下的情况应该特殊处理\n const { bottom: tableBottom, right: tableRight } =\n tableElement?.getBoundingClientRect() ?? ({} as Record<string, number>);\n const { clientHeight, clientWidth } = document.body;\n const edgeRight = Math.min(tableRight, clientWidth);\n const edgeBottom = Math.min(tableBottom, clientHeight);\n if (menuRight > edgeRight) {\n left = left - (menuRight - edgeRight);\n }\n if (menuBottom > edgeBottom) {\n top = top - (menuBottom - edgeBottom);\n }\n return { top, left };\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSheetEvent","Button","Divider","useCallback","jsx","_jsx","jsxs","_jsxs","BtnViewer","props","value","row","record","eventBus","handleClick","event","emit","children","type","onClick"],"sources":["../../../../src/core/viewer/btnViewer/index.tsx"],"sourcesContent":["import { useSheetEvent } from '@zhenliang/sheet/hooks';\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport { Button, Divider } from 'antd';\nimport { useCallback } from 'react';\n\nexport const BtnViewer: SheetType.CellViewer = (props) => {\n const { value, row, record } = props;\n const eventBus = useSheetEvent();\n const handleClick = useCallback(\n (event: { row?: number; type: 'copy' | 'delete' }) => {\n eventBus && eventBus.emit('btn-click', event);\n },\n [eventBus, row, record, value],\n );\n return (\n <div>\n <Button\n type=\"link\"\n key=\"copy\"\n onClick={() => handleClick({ row, type: 'copy' })}\n >\n 复制\n </Button>\n <Divider type=\"vertical\" />\n <Button\n type=\"link\"\n key=\"delete\"\n onClick={() => handleClick({ row, type: 'delete' })}\n >\n 删除\n </Button>\n </div>\n );\n};\n"],"mappings":"AAAA,SAASA,aAAa;AAEtB,SAASC,MAAM,EAAEC,OAAO,QAAQ,MAAM;AACtC,SAASC,WAAW,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEpC,OAAO,IAAMC,SAA+B,GAAG,SAAlCA,SAA+BA,CAAIC,KAAK,EAAK;EACxD,IAAQC,KAAK,GAAkBD,KAAK,CAA5BC,KAAK;IAAEC,GAAG,GAAaF,KAAK,CAArBE,GAAG;IAAEC,MAAM,GAAKH,KAAK,CAAhBG,MAAM;EAC1B,IAAMC,QAAQ,GAAGb,aAAa,CAAC,CAAC;EAChC,IAAMc,WAAW,GAAGX,WAAW,CAC7B,UAACY,KAAgD,EAAK;IACpDF,QAAQ,IAAIA,QAAQ,CAACG,IAAI,CAAC,WAAW,EAAED,KAAK,CAAC;EAC/C,CAAC,EACD,CAACF,QAAQ,EAAEF,GAAG,EAAEC,MAAM,EAAEF,KAAK,CAC/B,CAAC;EACD,oBACEH,KAAA;IAAAU,QAAA,gBACEZ,IAAA,CAACJ,MAAM;MACLiB,IAAI,EAAC,MAAM;MAEXC,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAML,WAAW,CAAC;UAAEH,GAAG,EAAHA,GAAG;UAAEO,IAAI,EAAE;QAAO,CAAC,CAAC;MAAA,CAAC;MAAAD,QAAA,EACnD;IAED,GAJM,MAIE,CAAC,eACTZ,IAAA,CAACH,OAAO;MAACgB,IAAI,EAAC;IAAU,CAAE,CAAC,eAC3Bb,IAAA,CAACJ,MAAM;MACLiB,IAAI,EAAC,MAAM;MAEXC,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAML,WAAW,CAAC;UAAEH,GAAG,EAAHA,GAAG;UAAEO,IAAI,EAAE;QAAS,CAAC,CAAC;MAAA,CAAC;MAAAD,QAAA,EACrD;IAED,GAJM,QAIE,CAAC;EAAA,CACN,CAAC;AAEV,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSheetEvent","Checkbox","useCallback","jsx","_jsx","CheckViewer","props","value","row","record","eventBus","handleChange","isHeader","emit","indeterminate","checked","onChange"],"sources":["../../../../src/core/viewer/checkViewer/index.tsx"],"sourcesContent":["import { useSheetEvent } from '@zhenliang/sheet/hooks';\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport { Checkbox } from 'antd';\nimport { useCallback } from 'react';\n\nexport const CheckViewer: SheetType.CellViewer = (props) => {\n const { value, row, record } = props;\n const eventBus = useSheetEvent();\n const handleChange = useCallback(() => {\n if (!eventBus) return;\n if (record?.isHeader) {\n eventBus.emit('row-select-title', record?.indeterminate ? false : true);\n } else {\n eventBus.emit('row-select', row);\n }\n }, [eventBus, row, record, value]);\n return (\n <Checkbox\n indeterminate={record?.indeterminate as boolean}\n checked={value as boolean}\n onChange={handleChange}\n />\n );\n};\n"],"mappings":"AAAA,SAASA,aAAa;AAEtB,SAASC,QAAQ,QAAQ,MAAM;AAC/B,SAASC,WAAW,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpC,OAAO,IAAMC,WAAiC,GAAG,SAApCA,WAAiCA,CAAIC,KAAK,EAAK;EAC1D,IAAQC,KAAK,GAAkBD,KAAK,CAA5BC,KAAK;IAAEC,GAAG,GAAaF,KAAK,CAArBE,GAAG;IAAEC,MAAM,GAAKH,KAAK,CAAhBG,MAAM;EAC1B,IAAMC,QAAQ,GAAGV,aAAa,CAAC,CAAC;EAChC,IAAMW,YAAY,GAAGT,WAAW,CAAC,YAAM;IACrC,IAAI,CAACQ,QAAQ,EAAE;IACf,IAAID,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEG,QAAQ,EAAE;MACpBF,QAAQ,CAACG,IAAI,CAAC,kBAAkB,EAAEJ,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACzE,CAAC,MAAM;MACLJ,QAAQ,CAACG,IAAI,CAAC,YAAY,EAAEL,GAAG,CAAC;IAClC;EACF,CAAC,EAAE,CAACE,QAAQ,EAAEF,GAAG,EAAEC,MAAM,EAAEF,KAAK,CAAC,CAAC;EAClC,oBACEH,IAAA,CAACH,QAAQ;IACPa,aAAa,EAAEL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,aAAyB;IAChDC,OAAO,EAAER,KAAiB;IAC1BS,QAAQ,EAAEL;EAAa,CACxB,CAAC;AAEN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["EditFilled","useSheetEvent","useCallback","jsx","_jsx","jsxs","_jsxs","EditViewer","props","value","row","record","eventBus","handleClick","emit","style","display","justifyContent","color","children","onClick"],"sources":["../../../../src/core/viewer/editViewer/index.tsx"],"sourcesContent":["import { EditFilled } from '@ant-design/icons';\nimport { useSheetEvent } from '@zhenliang/sheet/hooks';\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport { useCallback } from 'react';\n\nexport const EditViewer: SheetType.CellViewer = (props) => {\n const { value, row, record } = props;\n const eventBus = useSheetEvent();\n const handleClick = useCallback(() => {\n if (!eventBus) return;\n eventBus.emit('cell-edit', { row, record, value });\n }, [eventBus, row, record, value]);\n return (\n <span\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n color: 'green',\n }}\n >\n <span>{value as string}</span>\n <EditFilled onClick={handleClick} />\n </span>\n );\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,aAAa;AAEtB,SAASC,WAAW,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEpC,OAAO,IAAMC,UAAgC,GAAG,SAAnCA,UAAgCA,CAAIC,KAAK,EAAK;EACzD,IAAQC,KAAK,GAAkBD,KAAK,CAA5BC,KAAK;IAAEC,GAAG,GAAaF,KAAK,CAArBE,GAAG;IAAEC,MAAM,GAAKH,KAAK,CAAhBG,MAAM;EAC1B,IAAMC,QAAQ,GAAGX,aAAa,CAAC,CAAC;EAChC,IAAMY,WAAW,GAAGX,WAAW,CAAC,YAAM;IACpC,IAAI,CAACU,QAAQ,EAAE;IACfA,QAAQ,CAACE,IAAI,CAAC,WAAW,EAAE;MAAEJ,GAAG,EAAHA,GAAG;MAAEC,MAAM,EAANA,MAAM;MAAEF,KAAK,EAALA;IAAM,CAAC,CAAC;EACpD,CAAC,EAAE,CAACG,QAAQ,EAAEF,GAAG,EAAEC,MAAM,EAAEF,KAAK,CAAC,CAAC;EAClC,oBACEH,KAAA;IACES,KAAK,EAAE;MACLC,OAAO,EAAE,MAAM;MACfC,cAAc,EAAE,eAAe;MAC/BC,KAAK,EAAE;IACT,CAAE;IAAAC,QAAA,gBAEFf,IAAA;MAAAe,QAAA,EAAOV;IAAK,CAAiB,CAAC,eAC9BL,IAAA,CAACJ,UAAU;MAACoB,OAAO,EAAEP;IAAY,CAAE,CAAC;EAAA,CAChC,CAAC;AAEX,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MinusSquareOutlined","PlusSquareOutlined","useSheetEvent","useCallback","jsx","_jsx","GroupViewer","props","value","row","record","eventBus","handleChange","isHeader","emit","open","onClick","children"],"sources":["../../../../src/core/viewer/groupViewer/index.tsx"],"sourcesContent":["import { MinusSquareOutlined, PlusSquareOutlined } from '@ant-design/icons';\nimport { useSheetEvent } from '@zhenliang/sheet/hooks';\nimport type { SheetType } from '@zhenliang/sheet/type';\n\nimport { useCallback } from 'react';\n\nexport const GroupViewer: SheetType.CellViewer = (props) => {\n const { value, row, record } = props;\n const eventBus = useSheetEvent();\n const handleChange = useCallback(() => {\n if (!eventBus) return;\n\n if (record?.isHeader) {\n eventBus.emit('group-open-title', !record?.open);\n } else {\n eventBus.emit('group-open', { row, open: record?.open });\n }\n }, [eventBus, row, record?.open]);\n if (value) {\n return (\n <span onClick={handleChange}>\n {!record?.open ? <PlusSquareOutlined /> : <MinusSquareOutlined />}\n </span>\n );\n }\n return <span></span>;\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,kBAAkB,QAAQ,mBAAmB;AAC3E,SAASC,aAAa;AAGtB,SAASC,WAAW,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpC,OAAO,IAAMC,WAAiC,GAAG,SAApCA,WAAiCA,CAAIC,KAAK,EAAK;EAC1D,IAAQC,KAAK,GAAkBD,KAAK,CAA5BC,KAAK;IAAEC,GAAG,GAAaF,KAAK,CAArBE,GAAG;IAAEC,MAAM,GAAKH,KAAK,CAAhBG,MAAM;EAC1B,IAAMC,QAAQ,GAAGT,aAAa,CAAC,CAAC;EAChC,IAAMU,YAAY,GAAGT,WAAW,CAAC,YAAM;IACrC,IAAI,CAACQ,QAAQ,EAAE;IAEf,IAAID,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEG,QAAQ,EAAE;MACpBF,QAAQ,CAACG,IAAI,CAAC,kBAAkB,EAAE,EAACJ,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,IAAI,EAAC;IAClD,CAAC,MAAM;MACLJ,QAAQ,CAACG,IAAI,CAAC,YAAY,EAAE;QAAEL,GAAG,EAAHA,GAAG;QAAEM,IAAI,EAAEL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK;MAAK,CAAC,CAAC;IAC1D;EACF,CAAC,EAAE,CAACJ,QAAQ,EAAEF,GAAG,EAAEC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,IAAI,CAAC,CAAC;EACjC,IAAIP,KAAK,EAAE;IACT,oBACEH,IAAA;MAAMW,OAAO,EAAEJ,YAAa;MAAAK,QAAA,EACzB,EAACP,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,IAAI,iBAAGV,IAAA,CAACJ,kBAAkB,IAAE,CAAC,gBAAGI,IAAA,CAACL,mBAAmB,IAAE;IAAC,CAC7D,CAAC;EAEX;EACA,oBAAOK,IAAA,WAAY,CAAC;AACtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["BtnViewer","CheckViewer","EditViewer","GroupViewer","SwitchViewer"],"sources":["../../../src/core/viewer/index.ts"],"sourcesContent":["export { BtnViewer } from './btnViewer';\nexport { CheckViewer } from './checkViewer';\nexport { EditViewer } from './editViewer';\nexport { GroupViewer } from './groupViewer';\nexport { SwitchViewer } from './switchViewer';\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,WAAW;AACpB,SAASC,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,YAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSheetEvent","Switch","useCallback","jsx","_jsx","SwitchViewer","props","value","row","record","eventBus","handleChange","emit","checked","onChange"],"sources":["../../../../src/core/viewer/switchViewer/index.tsx"],"sourcesContent":["import { useSheetEvent } from '@zhenliang/sheet/hooks';\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport { Switch } from 'antd';\nimport { useCallback } from 'react';\n\nexport const SwitchViewer: SheetType.CellViewer = (props) => {\n const { value, row, record } = props;\n const eventBus = useSheetEvent();\n const handleChange = useCallback(() => {\n if (!eventBus) return;\n eventBus.emit('cell-switch', { row, record, value: !value });\n }, [eventBus, row, record, value]);\n return <Switch checked={value as boolean} onChange={handleChange} />;\n};\n"],"mappings":"AAAA,SAASA,aAAa;AAEtB,SAASC,MAAM,QAAQ,MAAM;AAC7B,SAASC,WAAW,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpC,OAAO,IAAMC,YAAkC,GAAG,SAArCA,YAAkCA,CAAIC,KAAK,EAAK;EAC3D,IAAQC,KAAK,GAAkBD,KAAK,CAA5BC,KAAK;IAAEC,GAAG,GAAaF,KAAK,CAArBE,GAAG;IAAEC,MAAM,GAAKH,KAAK,CAAhBG,MAAM;EAC1B,IAAMC,QAAQ,GAAGV,aAAa,CAAC,CAAC;EAChC,IAAMW,YAAY,GAAGT,WAAW,CAAC,YAAM;IACrC,IAAI,CAACQ,QAAQ,EAAE;IACfA,QAAQ,CAACE,IAAI,CAAC,aAAa,EAAE;MAAEJ,GAAG,EAAHA,GAAG;MAAEC,MAAM,EAANA,MAAM;MAAEF,KAAK,EAAE,CAACA;IAAM,CAAC,CAAC;EAC9D,CAAC,EAAE,CAACG,QAAQ,EAAEF,GAAG,EAAEC,MAAM,EAAEF,KAAK,CAAC,CAAC;EAClC,oBAAOH,IAAA,CAACH,MAAM;IAACY,OAAO,EAAEN,KAAiB;IAACO,QAAQ,EAAEH;EAAa,CAAE,CAAC;AACtE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","cloneDeep","random","React","useCallback","useRef","useState","DateEditor","getCascaderEditor","getNumberEditor","getSelectEditor","Table","BtnViewer","EditViewer","SwitchViewer","jsx","_jsx","Precision2MoneyEditor","max","min","precision","addonAfter","Precision2Number","TypeSelector","value","label","CascaderSelector","children","columns","title","width","dataIndex","key","fixed","render","editor","readonly","record","row","editable","align","data","name","date","open","age","address1","address2","select","address","App","_useState","_useState2","_slicedToArray","state","setState","sheetInstance","handleChange","changes","newState","forEach","change","handleAdd","_sheetInstance$curren","current","pushToHistory","type","rowInfo","newRow","length","concat","_toConsumableArray","String","dataSource","scroll","x","onChange","eventHandler","reverse","_ref","console","log","splice","cellEdit","_ref2","cellValue","confirm","btnClick","_ref3","cellSwitch","_ref4","_objectSpread"],"sources":["../../src/example/antComponent.tsx"],"sourcesContent":["import { Modal } from 'antd';\nimport { cloneDeep, random } from 'lodash';\nimport React, { useCallback, useRef, useState } from 'react';\nimport {\n DateEditor,\n getCascaderEditor,\n getNumberEditor,\n getSelectEditor,\n} from '../core/editor';\nimport Table from '../core/table';\nimport { BtnViewer } from '../core/viewer/btnViewer';\nimport { EditViewer } from '../core/viewer/editViewer';\nimport { SwitchViewer } from '../core/viewer/switchViewer';\nimport { SheetTableType, SheetType } from '../type';\n\nconst Precision2MoneyEditor = getNumberEditor({\n max: 1000,\n min: 0,\n precision: 2,\n addonAfter: '元',\n});\nconst Precision2Number = getNumberEditor({\n max: 1000,\n min: 0,\n precision: 2,\n});\n\nconst TypeSelector = getSelectEditor([\n {\n value: '1',\n label: '111111',\n },\n {\n value: '2',\n label: '222222',\n },\n {\n value: '3',\n label: '333333',\n },\n]);\n\nconst CascaderSelector = getCascaderEditor([\n {\n value: 'zhejiang',\n label: 'Zhejiang',\n children: [\n {\n value: 'hangzhou',\n label: 'Hangzhou',\n children: [\n {\n value: 'xihu',\n label: 'West Lake',\n },\n ],\n },\n ],\n },\n {\n value: 'jiangsu',\n label: 'Jiangsu',\n children: [\n {\n value: 'nanjing',\n label: 'Nanjing',\n children: [\n {\n value: 'zhonghuamen',\n label: 'Zhong Hua Men',\n },\n ],\n },\n ],\n },\n]);\n\nconst columns: SheetTableType.ColumnProps[] = [\n {\n title: 'Full Name',\n width: 100,\n dataIndex: 'open',\n key: 'open',\n fixed: 'left',\n render: SwitchViewer,\n },\n {\n title: 'Age',\n width: 100,\n dataIndex: 'age',\n key: 'age',\n editor: Precision2Number,\n readonly: (value, record, row) => row === 1,\n // fixed: 'left',\n },\n {\n title: 'price',\n width: 100,\n dataIndex: 'price',\n key: 'price',\n editor: Precision2MoneyEditor,\n readonly: (value, record, row) => row === 1,\n // fixed: 'left',\n },\n {\n title: 'date',\n width: 150,\n dataIndex: 'date',\n key: 'date',\n editor: DateEditor,\n // fixed: 'left',\n },\n {\n title: 'select',\n width: 200,\n dataIndex: 'select',\n editor: TypeSelector,\n },\n {\n title: 'Column 2',\n width: 200,\n dataIndex: 'address1',\n key: '2',\n editor: CascaderSelector,\n },\n {\n title: 'Column 3',\n width: 200,\n dataIndex: 'address2',\n key: '3',\n editable: false,\n render: EditViewer,\n },\n { title: 'Column 4', width: 200, dataIndex: 'address3', key: '4' },\n { title: 'Column 5', width: 200, dataIndex: 'address4', key: '5' },\n { title: 'Column 6', width: 200, dataIndex: 'address5', key: '6' },\n { title: 'Column 7', width: 200, dataIndex: 'address6', key: '7' },\n { title: 'Column 8', width: 200, dataIndex: 'address7', key: '8' },\n {\n title: 'Action',\n align: 'center',\n key: 'operation',\n fixed: 'right',\n width: 150,\n render: BtnViewer,\n },\n];\n\nconst data = [\n {\n key: '1',\n name: 'John Brown',\n date: '2020-01-01',\n open: true,\n age: 32,\n address1: 'West Lake',\n address2: '打开对话框1',\n select: '111111',\n address: 'New York Park',\n },\n {\n key: '2',\n name: 'Jim Green',\n open: false,\n date: '1990-01-01',\n address2: '打开对话框2',\n age: 40,\n select: '222222',\n address: 'London Park',\n },\n];\n\nconst App: React.FC = () => {\n const [state, setState] = useState(data);\n\n const sheetInstance = useRef<SheetType.SheetInstance | null>(null);\n const handleChange = useCallback(\n (changes: SheetTableType.TableChange[]) => {\n const newState: any = cloneDeep(state);\n changes.forEach((change) => {\n const { row, key, value } = change;\n newState[row][key] = value;\n });\n setState(newState);\n },\n [state],\n );\n const handleAdd = useCallback(() => {\n const newState: any = cloneDeep(state);\n sheetInstance.current?.pushToHistory({\n type: 'NewRow',\n changes: [],\n rowInfo: { newRow: newState.length },\n });\n setState([\n ...newState,\n {\n key: String(random()),\n name: 'new',\n open: false,\n date: '1990-01-01',\n address2: `打开对话框2${newState.length + 2}`,\n age: 40 + newState.length,\n select: '111111',\n address: 'London Park',\n },\n ]);\n }, [state]);\n return (\n <Table\n sheetInstance={sheetInstance}\n columns={columns}\n dataSource={state}\n scroll={{ x: '100%' }}\n onChange={handleChange}\n handleAdd={handleAdd}\n eventHandler={{\n reverse: (value: unknown) => {\n // 处理 行列删除自定义事件\n const { type, rowInfo } = value as SheetType.OperateHistory;\n if (type === 'Custom') {\n console.log('操作');\n } else if (type === 'NewRow') {\n const newState = [...state];\n newState.splice(rowInfo?.newRow as number, 1);\n setState(newState);\n }\n },\n 'cell-edit': (value: unknown) => {\n const { row, value: cellValue } = value as {\n row: number;\n record: Record<string, unknown>;\n value: unknown;\n };\n Modal.confirm({\n title: `${row} - ${cellValue}编辑点什么`,\n });\n },\n 'btn-click': (value: unknown) => {\n const { row, type } = value as {\n row?: number;\n type: 'copy' | 'delete';\n };\n Modal.confirm({\n title: `${row} - ${type}提示点什么`,\n });\n },\n 'cell-switch': (value: unknown) => {\n const { row, value: cellValue } = value as {\n row: number;\n record: Record<string, unknown>;\n value: unknown;\n };\n const newState = [...state];\n newState[row] = {\n ...newState[row],\n open: !cellValue,\n };\n\n setState(newState);\n },\n }}\n />\n );\n};\n\nexport default App;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Table","Space","Tag","React","useCallback","useState","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","columns","title","dataIndex","key","editable","render","_ref","value","children","_ref2","tags","record","map","tag","color","length","toUpperCase","_ref3","size","name","data","age","address","App","_useState","_useState2","_slicedToArray","dataSource","setData","onChange","changes","newData","_toConsumableArray","forEach","_ref4","_String","row","_objectSpread","_defineProperty","String","split"],"sources":["../../src/example/basic.tsx"],"sourcesContent":["import Table from '@zhenliang/sheet/core/table';\nimport type { SheetTableType } from '@zhenliang/sheet/type';\nimport { Space, Tag } from 'antd';\nimport 'antd/dist/antd.css';\nimport React, { useCallback, useState } from 'react';\n\nconst columns: SheetTableType.ColumnProps[] = [\n {\n title: 'Name',\n dataIndex: 'name',\n key: 'name',\n editable: false,\n render: ({ value }) => <a>{value as string}</a>,\n },\n {\n title: 'Age',\n dataIndex: 'age',\n key: 'age',\n },\n {\n title: 'Address',\n editable: false,\n dataIndex: 'address',\n key: 'address',\n },\n {\n title: 'Tags',\n key: 'tags',\n dataIndex: 'tags',\n render: ({ record: { tags } }: any) => (\n <>\n {(tags as string[])?.map((tag) => {\n let color = tag.length > 5 ? 'geekblue' : 'green';\n if (tag === 'loser') {\n color = 'volcano';\n }\n return (\n <Tag color={color} key={tag}>\n {tag.toUpperCase()}\n </Tag>\n );\n })}\n </>\n ),\n },\n {\n title: 'Action',\n key: 'action',\n editable: false,\n render: ({ record }: any) => (\n <Space size=\"middle\">\n <a>Invite {record.name as string}</a>\n <a>Delete</a>\n </Space>\n ),\n },\n];\n\nconst data = [\n {\n key: '1',\n name: 'John Brown',\n age: 32,\n address: 'New York No. 1 Lake Park',\n tags: ['nice', 'developer'],\n },\n {\n key: '2',\n name: 'Jim Green',\n age: 42,\n address: 'London No. 1 Lake Park',\n tags: ['loser'],\n },\n {\n key: '3',\n name: 'Joe Black',\n age: 32,\n address: 'Sidney No. 1 Lake Park',\n tags: ['cool', 'teacher'],\n },\n];\n\nconst App: React.FC = () => {\n const [dataSource, setData] = useState(data);\n\n const onChange = useCallback(\n (changes: SheetTableType.TableChange[]) => {\n const newData = [...dataSource];\n changes.forEach(({ row, key, value }) => {\n newData[row] = {\n ...newData[row],\n [key]: key === 'tags' ? String(value as string)?.split(',') : value,\n };\n });\n setData(newData);\n },\n [dataSource],\n );\n\n return (\n <Table columns={columns} dataSource={dataSource} onChange={onChange} />\n );\n};\n\nexport default App;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Table","jsx","_jsx","columns","title","dataIndex","key","render","_ref","value","children","width","data","name","age","address","tags","App","dataSource","onChange"],"sources":["../../src/example/ellipsis.tsx"],"sourcesContent":["import React from 'react';\nimport Table from '../core/table';\n\nconst columns: any = [\n {\n title: 'Name',\n dataIndex: 'name',\n key: 'name',\n render: ({ value }: { value: string }) => <a>{value}</a>,\n width: 150,\n },\n {\n title: 'Age',\n dataIndex: 'age',\n key: 'age',\n width: 80,\n },\n {\n title: 'Address',\n dataIndex: 'address',\n key: 'address 1',\n },\n {\n title: 'Long Column',\n dataIndex: 'address',\n key: 'address 2',\n },\n {\n title: 'Long Column Long Column',\n dataIndex: 'address',\n key: 'address 3',\n },\n {\n title: 'Long Column',\n dataIndex: 'address',\n key: 'address 4',\n },\n];\n\nconst data = [\n {\n key: '1',\n name: 'John Brown',\n age: 32,\n address: 'New York No. 1 Lake Park, New York No. 1 Lake Park',\n tags: ['nice', 'developer'],\n },\n {\n key: '2',\n name: 'Jim Green',\n age: 42,\n address: 'London No. 2 Lake Park, London No. 2 Lake Park',\n tags: ['loser'],\n },\n {\n key: '3',\n name: 'Joe Black',\n age: 32,\n address: 'Sidney No. 1 Lake Park, Sidney No. 1 Lake Park',\n tags: ['cool', 'teacher'],\n },\n];\n\nconst App: React.FC = () => (\n <Table columns={columns} dataSource={data} onChange={() => {}} />\n);\n\nexport default App;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAElC,IAAMC,OAAY,GAAG,CACnB;EACEC,KAAK,EAAE,MAAM;EACbC,SAAS,EAAE,MAAM;EACjBC,GAAG,EAAE,MAAM;EACXC,MAAM,EAAE,SAAAA,OAAAC,IAAA;IAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAA,oBAA0BP,IAAA;MAAAQ,QAAA,EAAID;IAAK,CAAI,CAAC;EAAA;EACxDE,KAAK,EAAE;AACT,CAAC,EACD;EACEP,KAAK,EAAE,KAAK;EACZC,SAAS,EAAE,KAAK;EAChBC,GAAG,EAAE,KAAK;EACVK,KAAK,EAAE;AACT,CAAC,EACD;EACEP,KAAK,EAAE,SAAS;EAChBC,SAAS,EAAE,SAAS;EACpBC,GAAG,EAAE;AACP,CAAC,EACD;EACEF,KAAK,EAAE,aAAa;EACpBC,SAAS,EAAE,SAAS;EACpBC,GAAG,EAAE;AACP,CAAC,EACD;EACEF,KAAK,EAAE,yBAAyB;EAChCC,SAAS,EAAE,SAAS;EACpBC,GAAG,EAAE;AACP,CAAC,EACD;EACEF,KAAK,EAAE,aAAa;EACpBC,SAAS,EAAE,SAAS;EACpBC,GAAG,EAAE;AACP,CAAC,CACF;AAED,IAAMM,IAAI,GAAG,CACX;EACEN,GAAG,EAAE,GAAG;EACRO,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE,oDAAoD;EAC7DC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW;AAC5B,CAAC,EACD;EACEV,GAAG,EAAE,GAAG;EACRO,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE,gDAAgD;EACzDC,IAAI,EAAE,CAAC,OAAO;AAChB,CAAC,EACD;EACEV,GAAG,EAAE,GAAG;EACRO,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE,gDAAgD;EACzDC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS;AAC1B,CAAC,CACF;AAED,IAAMC,GAAa,GAAG,SAAhBA,GAAaA,CAAA;EAAA,oBACjBf,IAAA,CAACF,KAAK;IAACG,OAAO,EAAEA,OAAQ;IAACe,UAAU,EAAEN,IAAK;IAACO,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC;EAAE,CAAE,CAAC;AAAA,CAClE;AAED,eAAeF,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Table","jsx","_jsx","columns","title","width","dataIndex","key","fixed","render","children","data","name","age","address","App","dataSource","scroll","x","onChange"],"sources":["../../src/example/fixed.tsx"],"sourcesContent":["import React from 'react';\nimport Table from '../core/table';\n\nconst columns: any = [\n {\n title: 'Full Name',\n width: 100,\n dataIndex: 'name',\n key: 'name',\n fixed: 'left',\n },\n {\n title: 'Age',\n width: 100,\n dataIndex: 'age',\n key: 'age',\n // fixed: 'left',\n },\n {\n title: 'Column 1',\n\n width: 200,\n dataIndex: 'address',\n key: '1',\n },\n { title: 'Column 2', width: 200, dataIndex: 'address', key: '2' },\n { title: 'Column 3', width: 200, dataIndex: 'address', key: '3' },\n { title: 'Column 4', width: 200, dataIndex: 'address', key: '4' },\n { title: 'Column 5', width: 200, dataIndex: 'address', key: '5' },\n { title: 'Column 6', width: 200, dataIndex: 'address', key: '6' },\n { title: 'Column 7', width: 200, dataIndex: 'address', key: '7' },\n { title: 'Column 8', width: 200, dataIndex: 'address', key: '8' },\n {\n title: 'Action',\n key: 'operation',\n fixed: 'right',\n width: 100,\n render: () => <a>action</a>,\n },\n];\n\nconst data = [\n {\n key: '1',\n name: 'John Brown',\n age: 32,\n address: 'New York Park',\n },\n {\n key: '2',\n name: 'Jim Green',\n age: 40,\n address: 'London Park',\n },\n];\n\nconst App: React.FC = () => (\n <Table\n columns={columns}\n dataSource={data}\n scroll={{ x: '100%' }}\n onChange={() => {}}\n />\n);\n\nexport default App;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAElC,IAAMC,OAAY,GAAG,CACnB;EACEC,KAAK,EAAE,WAAW;EAClBC,KAAK,EAAE,GAAG;EACVC,SAAS,EAAE,MAAM;EACjBC,GAAG,EAAE,MAAM;EACXC,KAAK,EAAE;AACT,CAAC,EACD;EACEJ,KAAK,EAAE,KAAK;EACZC,KAAK,EAAE,GAAG;EACVC,SAAS,EAAE,KAAK;EAChBC,GAAG,EAAE;EACL;AACF,CAAC,EACD;EACEH,KAAK,EAAE,UAAU;EAEjBC,KAAK,EAAE,GAAG;EACVC,SAAS,EAAE,SAAS;EACpBC,GAAG,EAAE;AACP,CAAC,EACD;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EAAEH,KAAK,EAAE,UAAU;EAAEC,KAAK,EAAE,GAAG;EAAEC,SAAS,EAAE,SAAS;EAAEC,GAAG,EAAE;AAAI,CAAC,EACjE;EACEH,KAAK,EAAE,QAAQ;EACfG,GAAG,EAAE,WAAW;EAChBC,KAAK,EAAE,OAAO;EACdH,KAAK,EAAE,GAAG;EACVI,MAAM,EAAE,SAAAA,OAAA;IAAA,oBAAMP,IAAA;MAAAQ,QAAA,EAAG;IAAM,CAAG,CAAC;EAAA;AAC7B,CAAC,CACF;AAED,IAAMC,IAAI,GAAG,CACX;EACEJ,GAAG,EAAE,GAAG;EACRK,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,EACD;EACEP,GAAG,EAAE,GAAG;EACRK,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,CACF;AAED,IAAMC,GAAa,GAAG,SAAhBA,GAAaA,CAAA;EAAA,oBACjBb,IAAA,CAACF,KAAK;IACJG,OAAO,EAAEA,OAAQ;IACjBa,UAAU,EAAEL,IAAK;IACjBM,MAAM,EAAE;MAAEC,CAAC,EAAE;IAAO,CAAE;IACtBC,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC;EAAE,CACpB,CAAC;AAAA,CACH;AAED,eAAeJ,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Table","jsx","_jsx","columns","title","dataIndex","key","readonly","value","record","index","console","log","editable","render","children","data","name","age","address","App","draggable","scroll","x","dataSource","onChange"],"sources":["../../src/example/group.tsx"],"sourcesContent":["import Table from '../core/table';\n\nconst columns = [\n { title: 'Name', dataIndex: 'name', key: 'name' },\n { title: 'Age', dataIndex: 'age', key: 'age' },\n {\n title: 'Address',\n readonly: (value: unknown, record: any, index: number) => {\n console.log(index);\n return index % 2 === 0;\n },\n dataIndex: 'address',\n key: 'address',\n },\n {\n title: 'Action',\n dataIndex: '',\n key: 'x',\n editable: false,\n render: () => <a>Delete</a>,\n },\n];\n\nconst data = [\n {\n key: 1,\n name: 'John Brown',\n age: 32,\n address: 'New York No. 1 Lake Park',\n children: [{ key: '1-1' }, { key: '1-2' }],\n },\n {\n key: 2,\n name: 'Jim Green',\n age: 42,\n address: 'London No. 1 Lake Park',\n children: [{ key: '2-1' }, { key: '2-2' }],\n },\n {\n key: 3,\n name: 'Not Expandable',\n age: 29,\n address: 'Jiangsu No. 1 Lake Park',\n },\n {\n key: 4,\n name: 'Joe Black',\n age: 32,\n address: 'Sidney No. 1 Lake Park',\n children: [{ key: '4-1' }, { key: '4-2' }],\n },\n];\n\nconst App: React.FC = () => (\n <Table\n draggable\n scroll={{ x: '100%' }}\n columns={columns}\n // expandable={{\n // expandedRowRender: (record) => (\n // <p style={{ margin: 0 }}>{record.description}</p>\n // ),\n // rowExpandable: (record) => record.name !== 'Not Expandable',\n // }}\n dataSource={data}\n onChange={() => {}}\n />\n);\n\nexport default App;\n"],"mappings":"AAAA,OAAOA,KAAK;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAElC,IAAMC,OAAO,GAAG,CACd;EAAEC,KAAK,EAAE,MAAM;EAAEC,SAAS,EAAE,MAAM;EAAEC,GAAG,EAAE;AAAO,CAAC,EACjD;EAAEF,KAAK,EAAE,KAAK;EAAEC,SAAS,EAAE,KAAK;EAAEC,GAAG,EAAE;AAAM,CAAC,EAC9C;EACEF,KAAK,EAAE,SAAS;EAChBG,QAAQ,EAAE,SAAAA,SAACC,KAAc,EAAEC,MAAW,EAAEC,KAAa,EAAK;IACxDC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;IAClB,OAAOA,KAAK,GAAG,CAAC,KAAK,CAAC;EACxB,CAAC;EACDL,SAAS,EAAE,SAAS;EACpBC,GAAG,EAAE;AACP,CAAC,EACD;EACEF,KAAK,EAAE,QAAQ;EACfC,SAAS,EAAE,EAAE;EACbC,GAAG,EAAE,GAAG;EACRO,QAAQ,EAAE,KAAK;EACfC,MAAM,EAAE,SAAAA,OAAA;IAAA,oBAAMZ,IAAA;MAAAa,QAAA,EAAG;IAAM,CAAG,CAAC;EAAA;AAC7B,CAAC,CACF;AAED,IAAMC,IAAI,GAAG,CACX;EACEV,GAAG,EAAE,CAAC;EACNW,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE,0BAA0B;EACnCJ,QAAQ,EAAE,CAAC;IAAET,GAAG,EAAE;EAAM,CAAC,EAAE;IAAEA,GAAG,EAAE;EAAM,CAAC;AAC3C,CAAC,EACD;EACEA,GAAG,EAAE,CAAC;EACNW,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE,wBAAwB;EACjCJ,QAAQ,EAAE,CAAC;IAAET,GAAG,EAAE;EAAM,CAAC,EAAE;IAAEA,GAAG,EAAE;EAAM,CAAC;AAC3C,CAAC,EACD;EACEA,GAAG,EAAE,CAAC;EACNW,IAAI,EAAE,gBAAgB;EACtBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,EACD;EACEb,GAAG,EAAE,CAAC;EACNW,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE,wBAAwB;EACjCJ,QAAQ,EAAE,CAAC;IAAET,GAAG,EAAE;EAAM,CAAC,EAAE;IAAEA,GAAG,EAAE;EAAM,CAAC;AAC3C,CAAC,CACF;AAED,IAAMc,GAAa,GAAG,SAAhBA,GAAaA,CAAA;EAAA,oBACjBlB,IAAA,CAACF,KAAK;IACJqB,SAAS;IACTC,MAAM,EAAE;MAAEC,CAAC,EAAE;IAAO,CAAE;IACtBpB,OAAO,EAAEA;IACT;IACA;IACA;IACA;IACA;IACA;IAAA;IACAqB,UAAU,EAAER,IAAK;IACjBS,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC;EAAE,CACpB,CAAC;AAAA,CACH;AAED,eAAeL,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Table","React","useCallback","useState","jsx","_jsx","columns","title","dataIndex","render","_ref","value","children","data","key","name","age","address","App","_useState","_useState2","_slicedToArray","dataSource","setData","onChange","changes","newData","_toConsumableArray","forEach","_ref2","row","_objectSpread","_defineProperty","split","handleRowChange","rowKey","rowSelection","rowSelected"],"sources":["../../src/example/selection.tsx"],"sourcesContent":["import Table from '@zhenliang/sheet/core/table';\nimport type { SheetTableType } from '@zhenliang/sheet/type';\nimport 'antd/dist/antd.css';\nimport React, { useCallback, useState } from 'react';\n\nconst columns: SheetTableType.ColumnProps[] = [\n {\n title: 'Name',\n dataIndex: 'name',\n render: ({ value }) => <a>{value as string}</a>,\n },\n {\n title: 'Age',\n dataIndex: 'age',\n },\n {\n title: 'Address',\n dataIndex: 'address',\n },\n];\n\nconst data = [\n {\n key: '1',\n name: 'John Brown',\n age: 32,\n address: 'New York No. 1 Lake Park',\n },\n {\n key: '2',\n name: 'Jim Green',\n age: 42,\n address: 'London No. 1 Lake Park',\n },\n {\n key: '3',\n name: 'Joe Black',\n age: 32,\n address: 'Sidney No. 1 Lake Park',\n },\n {\n key: '4',\n name: 'Disabled User',\n age: 99,\n address: 'Sidney No. 1 Lake Park',\n },\n];\n\nconst App: React.FC = () => {\n const [dataSource, setData] = useState(data);\n\n const onChange = useCallback(\n (changes: SheetTableType.TableChange[]) => {\n const newData = [...dataSource];\n changes.forEach(({ row, key, value }) => {\n newData[row] = {\n ...newData[row],\n [key]: key === 'tags' ? (value as string).split(',') : value,\n };\n });\n setData(newData);\n },\n [dataSource],\n );\n const handleRowChange = useCallback(() => {}, []);\n\n return (\n <Table\n columns={columns}\n rowKey=\"key\"\n dataSource={dataSource}\n onChange={onChange}\n rowSelection={{ rowSelected: [], onChange: handleRowChange }}\n />\n );\n};\n\nexport default App;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK;AAEZ,OAAO,oBAAoB;AAC3B,OAAOC,KAAK,IAAIC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErD,IAAMC,OAAqC,GAAG,CAC5C;EACEC,KAAK,EAAE,MAAM;EACbC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,SAAAA,OAAAC,IAAA;IAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAA,oBAAON,IAAA;MAAAO,QAAA,EAAID;IAAK,CAAc,CAAC;EAAA;AACjD,CAAC,EACD;EACEJ,KAAK,EAAE,KAAK;EACZC,SAAS,EAAE;AACb,CAAC,EACD;EACED,KAAK,EAAE,SAAS;EAChBC,SAAS,EAAE;AACb,CAAC,CACF;AAED,IAAMK,IAAI,GAAG,CACX;EACEC,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,EACD;EACEH,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,EACD;EACEH,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,WAAW;EACjBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,EACD;EACEH,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,eAAe;EACrBC,GAAG,EAAE,EAAE;EACPC,OAAO,EAAE;AACX,CAAC,CACF;AAED,IAAMC,GAAa,GAAG,SAAhBA,GAAaA,CAAA,EAAS;EAC1B,IAAAC,SAAA,GAA8BhB,QAAQ,CAACU,IAAI,CAAC;IAAAO,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAArCG,UAAU,GAAAF,UAAA;IAAEG,OAAO,GAAAH,UAAA;EAE1B,IAAMI,QAAQ,GAAGtB,WAAW,CAC1B,UAACuB,OAAqC,EAAK;IACzC,IAAMC,OAAO,GAAAC,kBAAA,CAAOL,UAAU,CAAC;IAC/BG,OAAO,CAACG,OAAO,CAAC,UAAAC,KAAA,EAAyB;MAAA,IAAtBC,GAAG,GAAAD,KAAA,CAAHC,GAAG;QAAEhB,GAAG,GAAAe,KAAA,CAAHf,GAAG;QAAEH,KAAK,GAAAkB,KAAA,CAALlB,KAAK;MAChCe,OAAO,CAACI,GAAG,CAAC,GAAAC,aAAA,CAAAA,aAAA,KACPL,OAAO,CAACI,GAAG,CAAC,OAAAE,eAAA,KACdlB,GAAG,EAAGA,GAAG,KAAK,MAAM,GAAIH,KAAK,CAAYsB,KAAK,CAAC,GAAG,CAAC,GAAGtB,KAAK,EAC7D;IACH,CAAC,CAAC;IACFY,OAAO,CAACG,OAAO,CAAC;EAClB,CAAC,EACD,CAACJ,UAAU,CACb,CAAC;EACD,IAAMY,eAAe,GAAGhC,WAAW,CAAC,YAAM,CAAC,CAAC,EAAE,EAAE,CAAC;EAEjD,oBACEG,IAAA,CAACL,KAAK;IACJM,OAAO,EAAEA,OAAQ;IACjB6B,MAAM,EAAC,KAAK;IACZb,UAAU,EAAEA,UAAW;IACvBE,QAAQ,EAAEA,QAAS;IACnBY,YAAY,EAAE;MAAEC,WAAW,EAAE,EAAE;MAAEb,QAAQ,EAAEU;IAAgB;EAAE,CAC9D,CAAC;AAEN,CAAC;AAED,eAAehB,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MinusCircleOutlined","PlusCircleOutlined","Sheet","Tooltip","cloneDeep","isNil","random","range","React","useCallback","useEffect","useMemo","useRef","useState","SheetEvent","DraggableShell","changeGroupConfig","useSheetEvent","jsx","_jsx","jsxs","_jsxs","ExcelIndexCell","_ref","value","row","record","eventBus","handleClick","emit","className","onClick","style","cursor","color","children","open","overlay","groups","trigger","grid","map","rowIndex","i","id","String","readonly","fixed","undefined","concat","valueViewer","includes","align","BasicSheet","_useState","_useState2","_slicedToArray","state","setState","sheetInstance","_useState3","groupStart","groupEnd","groupName","groupOpen","_useState4","groupConfig","setGroupConfig","handleNewRow","index","_sheetInstance$curren","_sheetInstance$curren2","newGrid","newRow","forEach","item","splice","current","pushToHistory","type","changes","rowInfo","extraInfo","newGroupConfig","add","selectRow","handleDeleteRow","_sheetInstance$curren3","deleteRow","remove","col","cell","handleReverse","_ref2","_toConsumableArray","_sheetInstance$curren4","_ref3","extraType","lastState","onCellsChanged","_ref4","_objectSpread","WrappedTableShell","columns","title","fromCharCode","width","MenuRender","props","position","handleMenu","onContextMenu","_ref5","top","left","background","padding","handleMenuClick","e","_ref6","console","log","length","performance","now","virtualized","data","scroll","x","y","sheetRenderer","menuRenderer","name","handler","_ref7","findIndex","_sheetInstance$curren5","display","_sheetInstance$curren6","zoomTo","_sheetInstance$curren7"],"sources":["../../src/example/sheet.tsx"],"sourcesContent":["import { MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons';\nimport { Sheet } from '@zhenliang/sheet';\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport { Tooltip } from 'antd';\nimport { cloneDeep, isNil, random, range } from 'lodash';\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { SheetEvent } from '../core/sheet/Event';\nimport { DraggableShell } from '../core/shell/draggableShell';\nimport { changeGroupConfig } from '../core/util';\nimport { useSheetEvent } from '../hooks';\nimport './index.less';\n\nconst ExcelIndexCell: React.FC<{ value: string; row: number; record: any }> = ({\n value,\n row,\n record,\n}) => {\n const eventBus = useSheetEvent();\n const handleClick = useCallback(() => {\n eventBus.emit('onCellClick', { row });\n }, []);\n\n return (\n <span\n className=\"excel-index-cell\"\n onClick={handleClick}\n style={{\n cursor: 'pointer',\n color: record?.color,\n }}\n >\n {!isNil(record?.open) ? (\n record?.open ? (\n <MinusCircleOutlined />\n ) : (\n <Tooltip overlay={record.groups} trigger={['hover']}>\n <PlusCircleOutlined />\n </Tooltip>\n )\n ) : null}\n {value}\n </span>\n );\n};\n\nconst grid: SheetType.Cell[][] = range(1, 120).map((row, rowIndex) =>\n range(0, 26).map((i) => ({\n id: String(random(0, 1)),\n readonly: i === 0 ? true : false,\n fixed: i === 0 ? 'left' : undefined,\n value: i === 0 ? row : row > 15 || i > 10 ? '' : `${row}-${i}`,\n valueViewer: i === 0 ? ExcelIndexCell : undefined,\n record: [1, 7].includes(rowIndex)\n ? {\n open: true,\n color: 'inherit',\n groups: rowIndex === 1 ? [1, 2, 3, 4, 5] : [7, 8, 9],\n }\n : undefined,\n align: 'center',\n })),\n) as any;\n\nconst BasicSheet: React.FC = () => {\n const [state, setState] = useState<SheetType.Cell[][]>(grid);\n const sheetInstance = useRef<SheetType.SheetInstance | null>(null);\n const [groupConfig, setGroupConfig] = useState({\n groups: [\n { groupStart: 1, groupEnd: 5, groupName: 'group1' },\n { groupStart: 7, groupEnd: 9, groupName: 'group2' },\n ],\n groupOpen: [true, true],\n });\n\n const handleNewRow = useCallback(\n (index: number) => {\n const newGrid = cloneDeep(state);\n const newRow = cloneDeep(newGrid[0]);\n newRow.forEach((item) => {\n item.value = '';\n item.record = undefined;\n });\n newGrid.splice(index, 0, newRow);\n newGrid.forEach((row, index) => {\n row[0].value = index + 1;\n });\n sheetInstance.current?.pushToHistory({\n type: 'NewRow' as SheetType.OperateType,\n changes: [],\n rowInfo: {\n newRow: index + 1,\n },\n extraInfo: groupConfig,\n });\n const newGroupConfig = changeGroupConfig(groupConfig, { add: index });\n setState(newGrid);\n setGroupConfig(newGroupConfig);\n sheetInstance.current?.selectRow(index);\n },\n [state, groupConfig],\n );\n const handleDeleteRow = useCallback(\n (index: number) => {\n const newGrid = cloneDeep(state);\n const deleteRow = newGrid.splice(index - 1, 1);\n newGrid.forEach((row, index) => {\n row[0].value = index + 1;\n });\n\n const newGroupConfig = changeGroupConfig(groupConfig, { remove: index });\n\n sheetInstance.current?.pushToHistory({\n type: 'DeleteRow' as SheetType.OperateType,\n changes: deleteRow[0].map(\n (item, col) =>\n ({\n cell: item,\n row: index,\n col: col,\n } as any),\n ),\n rowInfo: {\n deleteRow: index,\n },\n extraInfo: groupConfig,\n });\n\n setGroupConfig(newGroupConfig);\n setState(newGrid);\n },\n [state],\n );\n const handleReverse = useCallback(\n (value: unknown) => {\n const { type, changes, rowInfo, extraInfo } =\n value as SheetType.OperateHistory;\n let newGrid = [...state];\n if (type === 'NewRow') {\n if (!rowInfo?.newRow && rowInfo?.newRow !== 0) return;\n newGrid.splice(rowInfo.newRow - 1, 1);\n newGrid.forEach((row, index) => {\n row[0].value = index + 1;\n });\n setState(newGrid);\n setGroupConfig(extraInfo as SheetType.RowGroupConfig);\n sheetInstance.current?.selectRow();\n } else if (type === 'DeleteRow') {\n if (!rowInfo?.deleteRow && rowInfo?.deleteRow !== 0) return;\n newGrid.splice(\n rowInfo.deleteRow - 1,\n 0,\n changes.map((item) => item.cell) as SheetType.Cell[],\n );\n newGrid.forEach((row, index) => {\n row[0].value = index + 1;\n });\n setState(newGrid);\n setGroupConfig(extraInfo as SheetType.RowGroupConfig);\n } else if (type === 'Custom') {\n const {\n groupConfig,\n extraType,\n state: lastState,\n } = extraInfo as {\n extraType: string;\n groupConfig: SheetType.RowGroupConfig;\n state: SheetType.Cell[][];\n };\n if (extraType === 'group') {\n setGroupConfig(groupConfig);\n setState(lastState);\n }\n }\n },\n [state, groupConfig],\n );\n\n const onCellsChanged = (changes: any) => {\n const newGrid = [...state];\n changes.forEach(({ row, col, value }: any) => {\n const newRow = [...newGrid[row]];\n newRow[col] = { ...newRow[col], value };\n newGrid[row] = newRow;\n });\n setState(newGrid);\n };\n\n const WrappedTableShell = useMemo(() => {\n return DraggableShell({\n columns: range(26).map((i) => {\n if (i > 26)\n return {\n title:\n String.fromCharCode(64 + i / 26) +\n String.fromCharCode(64 + (i % 26)),\n width: 100,\n align: 'center',\n };\n return {\n title: i === 0 ? '' : String.fromCharCode(64 + i),\n fixed: i === 0 ? 'left' : undefined,\n width: i === 0 ? 50 : 80,\n align: 'center',\n };\n }),\n className: 'baseTable',\n });\n }, []);\n\n const MenuRender = useCallback(\n (props: SheetType.MenuRenderProps) => {\n const { position, onContextMenu: handleMenu, cell } = props;\n const { top, left } = position || {};\n if (!cell) return null;\n return (\n <div\n className=\"harvest-menu\"\n style={{ top, left, background: 'white' }}\n >\n <div\n className=\"harvest-menu-item\"\n onClick={() =>\n handleMenu &&\n handleMenu({\n type: '1',\n row: cell.row + 1,\n })\n }\n style={{ padding: '5px 10px' }}\n >\n 向下插入行\n </div>\n <div\n className=\"harvest-menu-item\"\n onClick={() =>\n handleMenu &&\n handleMenu({\n type: '2',\n row: cell.row + 1,\n })\n }\n >\n 向上插入行{' '}\n </div>\n <div\n className=\"harvest-menu-item\"\n onClick={() =>\n handleMenu &&\n handleMenu({\n type: '3',\n row: cell.row + 1,\n })\n }\n >\n 删除行\n </div>\n </div>\n );\n },\n [handleNewRow],\n );\n const handleMenuClick = useCallback(\n (e: any) => {\n const { type, row } = e as { type: string; row: number };\n console.log('click', state.length);\n if (type === '1') {\n handleNewRow(row);\n }\n if (type === '2') {\n handleNewRow(row - 1);\n }\n if (type === '3') {\n handleDeleteRow(row);\n }\n },\n [state, groupConfig],\n );\n console.log('render', performance.now());\n useEffect(() => {\n console.log('rendered', performance.now());\n }, []);\n console.log(state.length);\n\n return (\n <Sheet\n sheetInstance={sheetInstance}\n className=\"excel-sheet\"\n virtualized\n data={state as any}\n groupConfig={groupConfig}\n scroll={{ x: '100%', y: '100vh' }}\n sheetRenderer={WrappedTableShell}\n menuRenderer={MenuRender}\n onCellsChanged={onCellsChanged}\n onContextMenu={handleMenuClick}\n >\n <SheetEvent\n name=\"onCellClick\"\n handler={(e: unknown) => {\n const { row } = e as { row: number };\n const index = groupConfig.groups.findIndex(\n (item) => item.groupStart === row,\n );\n if (index >= 0) {\n console.log('changed');\n const groupOpen = [...groupConfig.groupOpen];\n groupOpen[index] = !groupConfig.groupOpen[index];\n\n const newGrid = [...state];\n newGrid[row] = [...newGrid[row]];\n newGrid[row][0] = {\n ...(newGrid[row][0] as SheetType.Cell),\n record: {\n open: !!groupOpen[index],\n color: groupOpen[index] ? 'inherit' : 'green',\n },\n };\n setGroupConfig({\n ...groupConfig,\n groupOpen: groupOpen,\n });\n setState(newGrid);\n sheetInstance.current?.pushToHistory({\n type: 'Custom' as SheetType.OperateType,\n changes: [],\n extraInfo: {\n extraType: 'group',\n groupConfig,\n state,\n },\n });\n }\n }}\n />\n <SheetEvent name=\"reverse\" handler={handleReverse} />\n <div style={{ display: 'flex' }}>\n <div\n onClick={() => {\n sheetInstance.current?.zoomTo(0);\n }}\n >\n 回到顶部\n </div>\n <div\n onClick={() => {\n sheetInstance.current?.zoomTo();\n }}\n >\n 回到编辑行\n </div>\n </div>\n </Sheet>\n );\n};\n\nexport default BasicSheet;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getNumberEditor","getSelectEditor","Table","useCallback","useState","SwitchViewer","jsx","_jsx","RateValueInput","addonAfter","min","max","ValueInput","RateViewer","props","value","children","data","id","draftId","valuationType","termDiscountRate","reversionDiscountRate","vacancyDiscountRate","discountRate","exitCapRate","gfaUnitPrice","nlaUnitPrice","totalValuation","isEnabled","evaluateMethods","label","_useState","_useState2","_slicedToArray","state","columns","title","dataIndex","width","readonly","record","render","row","_evaluateMethods$find","find","item","editor","viewer","isNil","cellType","editable","Button","type","onClick","handleDelete","size","className","handleChange","dataSource","onChange"],"sources":["../../src/example/valuationAnalyze.tsx"],"sourcesContent":["import { getNumberEditor, getSelectEditor, Table } from '@zhenliang/sheet';\nimport { useCallback, useState } from 'react';\nimport { SwitchViewer } from '../core/viewer';\nimport { SheetTableType, SheetType } from '../type';\nconst RateValueInput = getNumberEditor({ addonAfter: '%', min: 0, max: 100 });\nconst ValueInput = getNumberEditor({ min: 0, max: 100000000 });\nconst RateViewer: SheetType.CellViewer = (props) => {\n const { value } = props;\n return <span>{(value as string) ? value + '%' : '-'}</span>;\n};\n\nconst data = [\n {\n id: 2443,\n draftId: '101601',\n valuationType: 2,\n termDiscountRate: null,\n reversionDiscountRate: null,\n vacancyDiscountRate: null,\n discountRate: 8.5,\n exitCapRate: 4.5,\n gfaUnitPrice: 107350.31545913525,\n nlaUnitPrice: 90130.38038659678,\n totalValuation: 1622707368.4802885,\n isEnabled: true,\n },\n {\n id: 2444,\n draftId: '101601',\n valuationType: 5,\n termDiscountRate: 4.5,\n reversionDiscountRate: 5.5,\n vacancyDiscountRate: 5.5,\n discountRate: null,\n exitCapRate: null,\n gfaUnitPrice: 89327.04427210477,\n nlaUnitPrice: 89327.04427210477,\n totalValuation: 1429232708.3536763,\n isEnabled: false,\n },\n];\n\nexport default () => {\n const evaluateMethods = [\n { label: 'DCF', value: 2 },\n { label: 'T&R', value: 5 },\n ];\n const [state] = useState(data);\n const columns: SheetTableType.ColumnProps[] = [\n {\n title: '默认使用',\n dataIndex: 'isEnabled',\n width: 66,\n // cellType: 'operate',\n readonly: (value, record) => !!record.valuationType,\n render: SwitchViewer,\n // component: (record: any, row: number, col: number) => (\n // <Switch\n // disabled={isNil(record.valuationType)}\n // checked={record.isEnabled}\n // onChange={handleSwitchChange(record, row)}\n // />\n // ),\n },\n {\n title: '评估方法',\n dataIndex: 'valuationType',\n width: 134,\n readonly: (value, record, row) => !row,\n render: ((props) => (\n <span>\n {evaluateMethods.find((item) => item.value === props.value)?.label}\n </span>\n )) as SheetType.CellViewer,\n editor: getSelectEditor(evaluateMethods),\n // calcReadOnly: (record, rowIndex) => !rowIndex,\n // getSelectOptions: (record: any) => {\n // if (record.valuationType === 2) {\n // return evaluateMethods.slice(0, 1);\n // }\n // return evaluateMethods.slice(1);\n // },\n },\n {\n title: '租期内折现率',\n dataIndex: 'termDiscountRate',\n width: 134,\n editor: RateValueInput,\n viewer: RateViewer,\n readonly: (value, record, row) => !row || isNil(record.valuationType),\n // calcReadOnly: (record, rowIndex) => !rowIndex || isNil(record.valuationType),\n },\n {\n title: '租期外折现率',\n dataIndex: 'reversionDiscountRate',\n width: 134,\n viewer: RateViewer,\n editor: RateValueInput,\n readonly: (value, record, row) => !row || isNil(record.valuationType),\n },\n {\n title: '空置面积折现率',\n dataIndex: 'vacancyDiscountRate',\n width: 134,\n viewer: RateViewer,\n editor: RateValueInput,\n readonly: (value, record, row) => !row || isNil(record.valuationType),\n },\n {\n title: '折现率',\n dataIndex: 'discountRate',\n width: 134,\n viewer: RateViewer,\n editor: RateValueInput,\n readonly: (value, record, row) => !row || isNil(record.valuationType),\n },\n {\n title: '退出资本化率',\n dataIndex: 'exitCapRate',\n width: 134,\n viewer: RateViewer,\n editor: RateValueInput,\n readonly: (value, record, row) => !row || isNil(record.valuationType),\n },\n {\n title: '估值单价/GFA',\n dataIndex: 'gfaUnitPrice',\n width: 134,\n editor: ValueInput,\n readonly: true,\n },\n {\n title: '估值单价/NLA',\n dataIndex: 'nlaUnitPrice',\n width: 134,\n editor: ValueInput,\n readonly: true,\n },\n {\n title: '估值',\n dataIndex: 'totalValuation',\n width: 134,\n editor: ValueInput,\n readonly: true,\n },\n {\n title: '操作',\n width: 62,\n dataIndex: 'id',\n cellType: 'operate',\n editable: false,\n render: ((props) => {\n const { row, record } = props;\n if (row) {\n return (\n <div>\n <Button\n type=\"link\"\n onClick={() => {\n handleDelete((record as { id: number }).id);\n // const infos = [{ id: record.id, row, extra: record }];\n // operateCb && operateCb(4, { row, infos });\n }}\n size=\"small\"\n >\n 删除\n </Button>\n </div>\n );\n }\n return <div className=\"value-viewer number-value-viewer\" />;\n }) as SheetType.CellViewer,\n\n // component: (record: any, row: number, col: number, operateCb?: ExcelTableType.OperateCollector) => {\n // if (row) {\n // return (\n // <div>\n // <Button\n // type=\"link\"\n // onClick={() => {\n // handleDelete(record.id);\n // const infos = [{ id: record.id, row, extra: record }];\n // operateCb && operateCb(4, { row, infos });\n // }}\n // size=\"small\"\n // >\n // 删除\n // </Button>\n // </div>\n // );\n // }\n // return <div className=\"value-viewer number-value-viewer\" />;\n // },\n },\n ];\n\n const handleChange = useCallback(() => {}, [state]);\n\n return <Table columns={columns} dataSource={state} onChange={handleChange} />;\n};\n"],"mappings":";;;;;;AAAA,SAASA,eAAe,EAAEC,eAAe,EAAEC,KAAK;AAChD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAC7C,SAASC,YAAY;AAAyB,SAAAC,GAAA,IAAAC,IAAA;AAE9C,IAAMC,cAAc,GAAGR,eAAe,CAAC;EAAES,UAAU,EAAE,GAAG;EAAEC,GAAG,EAAE,CAAC;EAAEC,GAAG,EAAE;AAAI,CAAC,CAAC;AAC7E,IAAMC,UAAU,GAAGZ,eAAe,CAAC;EAAEU,GAAG,EAAE,CAAC;EAAEC,GAAG,EAAE;AAAU,CAAC,CAAC;AAC9D,IAAME,UAAgC,GAAG,SAAnCA,UAAgCA,CAAIC,KAAK,EAAK;EAClD,IAAQC,KAAK,GAAKD,KAAK,CAAfC,KAAK;EACb,oBAAOR,IAAA;IAAAS,QAAA,EAAQD,KAAK,GAAcA,KAAK,GAAG,GAAG,GAAG;EAAG,CAAO,CAAC;AAC7D,CAAC;AAED,IAAME,IAAI,GAAG,CACX;EACEC,EAAE,EAAE,IAAI;EACRC,OAAO,EAAE,QAAQ;EACjBC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,IAAI;EACtBC,qBAAqB,EAAE,IAAI;EAC3BC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,GAAG;EACjBC,WAAW,EAAE,GAAG;EAChBC,YAAY,EAAE,kBAAkB;EAChCC,YAAY,EAAE,iBAAiB;EAC/BC,cAAc,EAAE,kBAAkB;EAClCC,SAAS,EAAE;AACb,CAAC,EACD;EACEX,EAAE,EAAE,IAAI;EACRC,OAAO,EAAE,QAAQ;EACjBC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,GAAG;EACrBC,qBAAqB,EAAE,GAAG;EAC1BC,mBAAmB,EAAE,GAAG;EACxBC,YAAY,EAAE,IAAI;EAClBC,WAAW,EAAE,IAAI;EACjBC,YAAY,EAAE,iBAAiB;EAC/BC,YAAY,EAAE,iBAAiB;EAC/BC,cAAc,EAAE,kBAAkB;EAClCC,SAAS,EAAE;AACb,CAAC,CACF;AAED,gBAAe,YAAM;EACnB,IAAMC,eAAe,GAAG,CACtB;IAAEC,KAAK,EAAE,KAAK;IAAEhB,KAAK,EAAE;EAAE,CAAC,EAC1B;IAAEgB,KAAK,EAAE,KAAK;IAAEhB,KAAK,EAAE;EAAE,CAAC,CAC3B;EACD,IAAAiB,SAAA,GAAgB5B,QAAQ,CAACa,IAAI,CAAC;IAAAgB,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAvBG,KAAK,GAAAF,UAAA;EACZ,IAAMG,OAAqC,GAAG,CAC5C;IACEC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE,WAAW;IACtBC,KAAK,EAAE,EAAE;IACT;IACAC,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM;MAAA,OAAK,CAAC,CAACA,MAAM,CAACrB,aAAa;IAAA;IACnDsB,MAAM,EAAErC;IACR;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EACD;IACEgC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE,eAAe;IAC1BC,KAAK,EAAE,GAAG;IACVC,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM,EAAEE,GAAG;MAAA,OAAK,CAACA,GAAG;IAAA;IACtCD,MAAM,EAAG,SAAAA,CAAC5B,KAAK;MAAA,IAAA8B,qBAAA;MAAA,oBACbrC,IAAA;QAAAS,QAAA,GAAA4B,qBAAA,GACGd,eAAe,CAACe,IAAI,CAAC,UAACC,IAAI;UAAA,OAAKA,IAAI,CAAC/B,KAAK,KAAKD,KAAK,CAACC,KAAK;QAAA,EAAC,cAAA6B,qBAAA,uBAA1DA,qBAAA,CAA4Db;MAAK,CAC9D,CAAC;IAAA,CACiB;IAC1BgB,MAAM,EAAE9C,eAAe,CAAC6B,eAAe;IACvC;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EACD;IACEO,KAAK,EAAE,QAAQ;IACfC,SAAS,EAAE,kBAAkB;IAC7BC,KAAK,EAAE,GAAG;IACVQ,MAAM,EAAEvC,cAAc;IACtBwC,MAAM,EAAEnC,UAAU;IAClB2B,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM,EAAEE,GAAG;MAAA,OAAK,CAACA,GAAG,IAAIM,KAAK,CAACR,MAAM,CAACrB,aAAa,CAAC;IAAA;IACrE;EACF,CAAC,EACD;IACEiB,KAAK,EAAE,QAAQ;IACfC,SAAS,EAAE,uBAAuB;IAClCC,KAAK,EAAE,GAAG;IACVS,MAAM,EAAEnC,UAAU;IAClBkC,MAAM,EAAEvC,cAAc;IACtBgC,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM,EAAEE,GAAG;MAAA,OAAK,CAACA,GAAG,IAAIM,KAAK,CAACR,MAAM,CAACrB,aAAa,CAAC;IAAA;EACvE,CAAC,EACD;IACEiB,KAAK,EAAE,SAAS;IAChBC,SAAS,EAAE,qBAAqB;IAChCC,KAAK,EAAE,GAAG;IACVS,MAAM,EAAEnC,UAAU;IAClBkC,MAAM,EAAEvC,cAAc;IACtBgC,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM,EAAEE,GAAG;MAAA,OAAK,CAACA,GAAG,IAAIM,KAAK,CAACR,MAAM,CAACrB,aAAa,CAAC;IAAA;EACvE,CAAC,EACD;IACEiB,KAAK,EAAE,KAAK;IACZC,SAAS,EAAE,cAAc;IACzBC,KAAK,EAAE,GAAG;IACVS,MAAM,EAAEnC,UAAU;IAClBkC,MAAM,EAAEvC,cAAc;IACtBgC,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM,EAAEE,GAAG;MAAA,OAAK,CAACA,GAAG,IAAIM,KAAK,CAACR,MAAM,CAACrB,aAAa,CAAC;IAAA;EACvE,CAAC,EACD;IACEiB,KAAK,EAAE,QAAQ;IACfC,SAAS,EAAE,aAAa;IACxBC,KAAK,EAAE,GAAG;IACVS,MAAM,EAAEnC,UAAU;IAClBkC,MAAM,EAAEvC,cAAc;IACtBgC,QAAQ,EAAE,SAAAA,SAACzB,KAAK,EAAE0B,MAAM,EAAEE,GAAG;MAAA,OAAK,CAACA,GAAG,IAAIM,KAAK,CAACR,MAAM,CAACrB,aAAa,CAAC;IAAA;EACvE,CAAC,EACD;IACEiB,KAAK,EAAE,UAAU;IACjBC,SAAS,EAAE,cAAc;IACzBC,KAAK,EAAE,GAAG;IACVQ,MAAM,EAAEnC,UAAU;IAClB4B,QAAQ,EAAE;EACZ,CAAC,EACD;IACEH,KAAK,EAAE,UAAU;IACjBC,SAAS,EAAE,cAAc;IACzBC,KAAK,EAAE,GAAG;IACVQ,MAAM,EAAEnC,UAAU;IAClB4B,QAAQ,EAAE;EACZ,CAAC,EACD;IACEH,KAAK,EAAE,IAAI;IACXC,SAAS,EAAE,gBAAgB;IAC3BC,KAAK,EAAE,GAAG;IACVQ,MAAM,EAAEnC,UAAU;IAClB4B,QAAQ,EAAE;EACZ,CAAC,EACD;IACEH,KAAK,EAAE,IAAI;IACXE,KAAK,EAAE,EAAE;IACTD,SAAS,EAAE,IAAI;IACfY,QAAQ,EAAE,SAAS;IACnBC,QAAQ,EAAE,KAAK;IACfT,MAAM,EAAG,SAAAA,CAAC5B,KAAK,EAAK;MAClB,IAAQ6B,GAAG,GAAa7B,KAAK,CAArB6B,GAAG;QAAEF,MAAM,GAAK3B,KAAK,CAAhB2B,MAAM;MACnB,IAAIE,GAAG,EAAE;QACP,oBACEpC,IAAA;UAAAS,QAAA,eACET,IAAA,CAAC6C,MAAM;YACLC,IAAI,EAAC,MAAM;YACXC,OAAO,EAAE,SAAAA,QAAA,EAAM;cACbC,YAAY,CAAEd,MAAM,CAAoBvB,EAAE,CAAC;cAC3C;cACA;YACF,CAAE;;YACFsC,IAAI,EAAC,OAAO;YAAAxC,QAAA,EACb;UAED,CAAQ;QAAC,CACN,CAAC;MAEV;MACA,oBAAOT,IAAA;QAAKkD,SAAS,EAAC;MAAkC,CAAE,CAAC;IAC7D;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,CACF;;EAED,IAAMC,YAAY,GAAGvD,WAAW,CAAC,YAAM,CAAC,CAAC,EAAE,CAACgC,KAAK,CAAC,CAAC;EAEnD,oBAAO5B,IAAA,CAACL,KAAK;IAACkC,OAAO,EAAEA,OAAQ;IAACuB,UAAU,EAAExB,KAAM;IAACyB,QAAQ,EAAEF;EAAa,CAAE,CAAC;AAC/E,CAAC"}
|
package/dist/hooks/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEventBus","useKeyBoard","useMiddlewareReducer","useMouse","useSetState","SheetEventContext","useSheetEvent"],"sources":["../../src/hooks/index.ts"],"sourcesContent":["export { useEventBus } from './useEventBus';\nexport { useKeyBoard } from './useKeyboard';\nexport { useMiddlewareReducer } from './useMiddlewareReducer';\nexport type {\n Dispatch,\n FunctionAction,\n NormalAction,\n} from './useMiddlewareReducer';\nexport { useMouse } from './useMouse';\nexport { useSetState } from './useSetState';\nexport { SheetEventContext, useSheetEvent } from './useSheetEvent';\n"],"mappings":"AAAA,SAASA,WAAW;AACpB,SAASC,WAAW;AACpB,SAASC,oBAAoB;AAM7B,SAASC,QAAQ;AACjB,SAASC,WAAW;AACpB,SAASC,iBAAiB,EAAEC,aAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["EventEmitter","useEffect","useRef","useEventBus","eventBus","_eventBus$current","current","removeAllListeners"],"sources":["../../src/hooks/useEventBus.ts"],"sourcesContent":["import EventEmitter from 'events';\nimport { useEffect, useRef } from 'react';\n\nconst useEventBus = () => {\n const eventBus = useRef<EventEmitter | null>(new EventEmitter());\n\n useEffect(() => {\n return () => {\n eventBus.current?.removeAllListeners();\n eventBus.current = null;\n };\n }, []);\n\n if (!eventBus.current) {\n eventBus.current = new EventEmitter();\n }\n\n return eventBus.current;\n};\n\nexport { useEventBus };\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,QAAQ;AACjC,SAASC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;EACxB,IAAMC,QAAQ,GAAGF,MAAM,CAAsB,IAAIF,YAAY,CAAC,CAAC,CAAC;EAEhEC,SAAS,CAAC,YAAM;IACd,OAAO,YAAM;MAAA,IAAAI,iBAAA;MACX,CAAAA,iBAAA,GAAAD,QAAQ,CAACE,OAAO,cAAAD,iBAAA,uBAAhBA,iBAAA,CAAkBE,kBAAkB,CAAC,CAAC;MACtCH,QAAQ,CAACE,OAAO,GAAG,IAAI;IACzB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACF,QAAQ,CAACE,OAAO,EAAE;IACrBF,QAAQ,CAACE,OAAO,GAAG,IAAIN,YAAY,CAAC,CAAC;EACvC;EAEA,OAAOI,QAAQ,CAACE,OAAO;AACzB,CAAC;AAED,SAASH,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","BACKSPACE_KEY","C_KEY","DELETE_KEY","DOWN_KEY","ENTER_KEY","ESCAPE_KEY","LEFT_KEY","RIGHT_KEY","TAB_KEY","UP_KEY","V_KEY","X_KEY","Z_KEY","isInputKey","ua","window","navigator","userAgent","isIE","test","move","keyCode","isShiftKey","row","col","useKeyBoard","handler","listenElement","handleKey","e","defaultPrevented","ctrlKey","metaKey","shiftKey","ctrlKeyPressed","isEscape","escape","isReverse","reverse","isCopy","copy","isCut","isPaste","paste","isDelete","delete","isEnter","enter","isValueInput","otherInput","key","moveInfo","addEventListener","document","cut","removeEventListener"],"sources":["../../src/hooks/useKeyboard.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\nimport {\n BACKSPACE_KEY,\n C_KEY,\n DELETE_KEY,\n DOWN_KEY,\n ENTER_KEY,\n ESCAPE_KEY,\n LEFT_KEY,\n RIGHT_KEY,\n TAB_KEY,\n UP_KEY,\n V_KEY,\n X_KEY,\n Z_KEY,\n} from '../core/config';\nimport { isInputKey } from '../core/util';\n\ntype KeyOrClipBoardEvent = (\n event: KeyboardEvent | ClipboardEvent,\n value?: any,\n) => void;\ntype KeyboardHandler = {\n move: KeyOrClipBoardEvent;\n escape: KeyOrClipBoardEvent;\n delete: KeyOrClipBoardEvent;\n enter: KeyOrClipBoardEvent;\n otherInput: KeyOrClipBoardEvent;\n copy: KeyOrClipBoardEvent;\n paste: KeyOrClipBoardEvent;\n reverse: KeyOrClipBoardEvent;\n cut: KeyOrClipBoardEvent;\n};\n\nconst ua = window.navigator.userAgent;\nconst isIE = /MSIE|Trident/.test(ua);\n\nexport function move(keyCode: number, isShiftKey: boolean) {\n if (keyCode === TAB_KEY) {\n return { row: 0, col: isShiftKey ? -1 : 1 };\n } else if (keyCode === RIGHT_KEY) {\n return { row: 0, col: 1 };\n } else if (keyCode === LEFT_KEY) {\n return { row: 0, col: -1 };\n } else if (keyCode === UP_KEY) {\n return { row: -1, col: 0 };\n } else if (keyCode === DOWN_KEY) {\n return { row: 1, col: 0 };\n } else if (keyCode === ENTER_KEY) {\n return { row: isShiftKey ? -1 : 1, col: 0 };\n }\n}\n\nexport const useKeyBoard = (\n handler: KeyboardHandler,\n listenElement: HTMLSpanElement | null,\n) => {\n const handleKey = useCallback(\n (e: KeyboardEvent) => {\n if (e.defaultPrevented) {\n return;\n }\n const { ctrlKey, metaKey, keyCode, shiftKey } = e;\n\n const ctrlKeyPressed = ctrlKey || metaKey;\n\n const isEscape = keyCode === ESCAPE_KEY;\n\n if (isEscape) {\n handler.escape(e);\n return;\n }\n\n const isReverse = ctrlKeyPressed && keyCode === Z_KEY;\n if (isReverse) {\n handler.reverse(e);\n return;\n }\n const isCopy = ctrlKeyPressed && keyCode === C_KEY;\n if (isCopy && isIE) {\n handler.copy(e);\n return;\n }\n\n const isCut = ctrlKeyPressed && keyCode === X_KEY;\n if (isCut && isIE) {\n handler.copy(e);\n return;\n }\n\n const isPaste = ctrlKeyPressed && keyCode === V_KEY;\n if (isPaste && isIE) {\n handler.paste(e);\n return;\n }\n\n const isDelete = keyCode === DELETE_KEY || keyCode === BACKSPACE_KEY;\n if (isDelete) {\n handler.delete(e);\n return;\n }\n\n const isEnter = keyCode === ENTER_KEY;\n if (isEnter && !shiftKey) {\n handler.enter(e);\n return;\n }\n if (ctrlKeyPressed) {\n return;\n }\n\n const isValueInput = isInputKey(keyCode);\n if (isValueInput) {\n handler.otherInput(e, e.key);\n return false;\n }\n const moveInfo = move(keyCode, shiftKey);\n moveInfo && handler.move(e, moveInfo);\n },\n [handler],\n );\n\n useEffect(() => {\n if (!listenElement) return;\n\n listenElement.addEventListener('keydown', handleKey);\n\n document.addEventListener('copy', handler.copy as any);\n document.addEventListener('paste', handler.paste as any);\n document.addEventListener('cut', handler.cut as any);\n return () => {\n listenElement.removeEventListener('keydown', handleKey);\n document.removeEventListener('copy', handler.copy as any);\n document.removeEventListener('paste', handler.paste as any);\n document.removeEventListener('cut', handler.cut as any);\n };\n }, [listenElement]);\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMiddlewareReducer","reducer","initialState","middleware","arguments","length","undefined","_React$useState","useState","_React$useState2","_slicedToArray","state","setState","stateRef","useRef","dispatch","useMemo","Error","middlewareAPI","getState","current","_dispatch","_x2","apply","toString","action","localDispatch","map","reduceRight","acc"],"sources":["../../src/hooks/useMiddlewareReducer.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type NormalAction = { type: string; payload?: any };\nexport type FunctionAction = (dispatch: any, getState?: () => any) => any;\n\nexport type Dispatch = (action: any) => any;\n\nexport type MiddlewareAPI<A> = { getState: () => A; dispatch: Dispatch };\n\nexport type Middleware<A> = (\n api: MiddlewareAPI<A>,\n) => (next: Dispatch) => Dispatch;\n\nexport const useMiddlewareReducer = <A, B>(\n reducer: (state: A, action: B) => A,\n initialState: A,\n middleware: Middleware<A>[] = [],\n): [A, Dispatch] => {\n const [state, setState] = React.useState(initialState);\n const stateRef = React.useRef(state);\n\n const dispatch = React.useMemo(() => {\n let dispatch: Dispatch = () => {\n throw new Error(\n `Dispatching while constructing your middleware is not allowed. ` +\n `Other middleware would not be applied to this dispatch.`,\n );\n };\n\n const middlewareAPI = {\n getState: () => stateRef.current,\n dispatch: (action: B) => dispatch(action),\n };\n\n const localDispatch = (action: B) => {\n stateRef.current = reducer(stateRef.current, action);\n setState(stateRef.current);\n };\n\n dispatch = middleware\n .map((middleware) => middleware(middlewareAPI))\n .reduceRight((acc, middleware) => middleware(acc), localDispatch);\n\n return dispatch;\n }, []);\n\n return [state, dispatch];\n};\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAa9B,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC/BC,OAAmC,EACnCC,YAAe,EAEG;EAAA,IADlBC,UAA2B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAEhC,IAAAG,eAAA,GAA0BR,KAAK,CAACS,QAAQ,CAACN,YAAY,CAAC;IAAAO,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA/CI,KAAK,GAAAF,gBAAA;IAAEG,QAAQ,GAAAH,gBAAA;EACtB,IAAMI,QAAQ,GAAGd,KAAK,CAACe,MAAM,CAACH,KAAK,CAAC;EAEpC,IAAMI,QAAQ,GAAGhB,KAAK,CAACiB,OAAO,CAAC,YAAM;IACnC,IAAID,QAAkB,GAAG,SAAAA,SAAA,EAAM;MAC7B,MAAM,IAAIE,KAAK,CACb,6HAEF,CAAC;IACH,CAAC;IAED,IAAMC,aAAa,GAAG;MACpBC,QAAQ,EAAE,SAAAA,SAAA;QAAA,OAAMN,QAAQ,CAACO,OAAO;MAAA;MAChCL,QAAQ,YAAAM,SAAA;QAAA,SAAAN,SAAAO,GAAA;UAAA,OAAAD,SAAA,CAAAE,KAAA,OAAAnB,SAAA;QAAA;QAAAW,QAAA,CAAAS,QAAA;UAAA,OAAAH,SAAA,CAAAG,QAAA;QAAA;QAAA,OAAAT,QAAA;MAAA,EAAE,UAACU,MAAS;QAAA,OAAKV,QAAQ,CAACU,MAAM,CAAC;MAAA;IAC3C,CAAC;IAED,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAID,MAAS,EAAK;MACnCZ,QAAQ,CAACO,OAAO,GAAGnB,OAAO,CAACY,QAAQ,CAACO,OAAO,EAAEK,MAAM,CAAC;MACpDb,QAAQ,CAACC,QAAQ,CAACO,OAAO,CAAC;IAC5B,CAAC;IAEDL,QAAQ,GAAGZ,UAAU,CAClBwB,GAAG,CAAC,UAACxB,UAAU;MAAA,OAAKA,UAAU,CAACe,aAAa,CAAC;IAAA,EAAC,CAC9CU,WAAW,CAAC,UAACC,GAAG,EAAE1B,UAAU;MAAA,OAAKA,UAAU,CAAC0B,GAAG,CAAC;IAAA,GAAEH,aAAa,CAAC;IAEnE,OAAOX,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAACJ,KAAK,EAAEI,QAAQ,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["debounce","useCallback","useEffect","useMouse","handler","listenElement","mouseUp","mouseDown","mouseOver","mouseLeave","mouseEnter","doubleClick","loseFocus","wrapper","handle","e","contains","target","debounceOver","wrappedMouseUp","wrappedMouseDown","wrappedMouseDoubleClick","document","addEventListener","removeEventListener"],"sources":["../../src/hooks/useMouse.tsx"],"sourcesContent":["import { debounce } from 'lodash';\nimport { useCallback, useEffect } from 'react';\n\ntype MouseHandler = {\n mouseUp: (value: MouseEvent) => void;\n mouseDown: (value: MouseEvent) => void;\n mouseOver: (value: MouseEvent) => void;\n mouseLeave: (value: MouseEvent) => void;\n mouseEnter: (value: MouseEvent) => void;\n doubleClick: (value: MouseEvent) => void;\n loseFocus: (value: MouseEvent) => void;\n};\n\nexport const useMouse = (\n handler: MouseHandler,\n listenElement: HTMLSpanElement | null,\n) => {\n const {\n mouseUp,\n mouseDown,\n mouseOver,\n mouseLeave,\n mouseEnter,\n doubleClick,\n loseFocus,\n } = handler;\n\n // todo\n const wrapper = useCallback(\n (handle: (e: MouseEvent) => void) => {\n return (e: MouseEvent) => {\n if (!(listenElement as any).contains(e.target as HTMLElement)) {\n return;\n }\n handle(e);\n };\n },\n [listenElement],\n );\n\n // useEffect(() => {\n // if (!listenElement) return;\n // }, [mouseUp]);\n useEffect(() => {\n if (!listenElement) return;\n\n const debounceOver = debounce(mouseOver, 10);\n const wrappedMouseUp = mouseUp;\n const wrappedMouseDown = (e: MouseEvent) => {\n if (!listenElement.contains(e.target as HTMLElement)) {\n loseFocus(e);\n return;\n }\n mouseDown(e);\n };\n const wrappedMouseDoubleClick = wrapper(doubleClick);\n\n document.addEventListener('mouseup', wrappedMouseUp);\n document.addEventListener('mousedown', wrappedMouseDown);\n document.addEventListener('dblclick', wrappedMouseDoubleClick);\n listenElement.addEventListener('mouseover', debounceOver);\n listenElement.addEventListener('mouseleave', mouseLeave);\n listenElement.addEventListener('mouseenter', mouseEnter);\n return () => {\n listenElement.removeEventListener('mouseover', debounceOver);\n listenElement.removeEventListener('mouseleave', mouseLeave);\n listenElement.removeEventListener('mouseenter', mouseEnter);\n\n document.removeEventListener('mousedown', wrappedMouseUp);\n document.removeEventListener('mouseup', wrappedMouseDown);\n document.removeEventListener('dblclick', wrappedMouseDoubleClick);\n };\n }, [\n listenElement,\n mouseUp,\n mouseDown,\n mouseOver,\n mouseLeave,\n doubleClick,\n loseFocus,\n ]);\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,SAASC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AAY9C,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CACnBC,OAAqB,EACrBC,aAAqC,EAClC;EACH,IACEC,OAAO,GAOLF,OAAO,CAPTE,OAAO;IACPC,SAAS,GAMPH,OAAO,CANTG,SAAS;IACTC,SAAS,GAKPJ,OAAO,CALTI,SAAS;IACTC,UAAU,GAIRL,OAAO,CAJTK,UAAU;IACVC,UAAU,GAGRN,OAAO,CAHTM,UAAU;IACVC,WAAW,GAETP,OAAO,CAFTO,WAAW;IACXC,SAAS,GACPR,OAAO,CADTQ,SAAS;;EAGX;EACA,IAAMC,OAAO,GAAGZ,WAAW,CACzB,UAACa,MAA+B,EAAK;IACnC,OAAO,UAACC,CAAa,EAAK;MACxB,IAAI,CAAEV,aAAa,CAASW,QAAQ,CAACD,CAAC,CAACE,MAAqB,CAAC,EAAE;QAC7D;MACF;MACAH,MAAM,CAACC,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EACD,CAACV,aAAa,CAChB,CAAC;;EAED;EACA;EACA;EACAH,SAAS,CAAC,YAAM;IACd,IAAI,CAACG,aAAa,EAAE;IAEpB,IAAMa,YAAY,GAAGlB,QAAQ,CAACQ,SAAS,EAAE,EAAE,CAAC;IAC5C,IAAMW,cAAc,GAAGb,OAAO;IAC9B,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIL,CAAa,EAAK;MAC1C,IAAI,CAACV,aAAa,CAACW,QAAQ,CAACD,CAAC,CAACE,MAAqB,CAAC,EAAE;QACpDL,SAAS,CAACG,CAAC,CAAC;QACZ;MACF;MACAR,SAAS,CAACQ,CAAC,CAAC;IACd,CAAC;IACD,IAAMM,uBAAuB,GAAGR,OAAO,CAACF,WAAW,CAAC;IAEpDW,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,cAAc,CAAC;IACpDG,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,gBAAgB,CAAC;IACxDE,QAAQ,CAACC,gBAAgB,CAAC,UAAU,EAAEF,uBAAuB,CAAC;IAC9DhB,aAAa,CAACkB,gBAAgB,CAAC,WAAW,EAAEL,YAAY,CAAC;IACzDb,aAAa,CAACkB,gBAAgB,CAAC,YAAY,EAAEd,UAAU,CAAC;IACxDJ,aAAa,CAACkB,gBAAgB,CAAC,YAAY,EAAEb,UAAU,CAAC;IACxD,OAAO,YAAM;MACXL,aAAa,CAACmB,mBAAmB,CAAC,WAAW,EAAEN,YAAY,CAAC;MAC5Db,aAAa,CAACmB,mBAAmB,CAAC,YAAY,EAAEf,UAAU,CAAC;MAC3DJ,aAAa,CAACmB,mBAAmB,CAAC,YAAY,EAAEd,UAAU,CAAC;MAE3DY,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEL,cAAc,CAAC;MACzDG,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEJ,gBAAgB,CAAC;MACzDE,QAAQ,CAACE,mBAAmB,CAAC,UAAU,EAAEH,uBAAuB,CAAC;IACnE,CAAC;EACH,CAAC,EAAE,CACDhB,aAAa,EACbC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,UAAU,EACVE,WAAW,EACXC,SAAS,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","useSetState","initialState","arguments","length","undefined","_useState","_useState2","_slicedToArray","state","setState","setMergeState","patch","prevState","_objectSpread"],"sources":["../../src/hooks/useSetState.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nconst useSetState = <T extends object>(\n initialState: T = {} as T,\n): [T, (patch: Partial<T> | ((prevState: T) => Partial<T>)) => void] => {\n const [state, setState] = useState<T>(initialState);\n\n const setMergeState = useCallback(\n (patch: Partial<T> | ((arg0: T) => Partial<T>)) => {\n setState((prevState) => ({\n ...prevState,\n ...(typeof patch === 'function' ? patch(prevState) : patch),\n }));\n },\n [],\n );\n\n return [state, setMergeState];\n};\n\nexport { useSetState };\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAE7C,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAEuD;EAAA,IADtEC,YAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEpB,IAAAG,SAAA,GAA0BN,QAAQ,CAAIE,YAAY,CAAC;IAAAK,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAA5CG,KAAK,GAAAF,UAAA;IAAEG,QAAQ,GAAAH,UAAA;EAEtB,IAAMI,aAAa,GAAGZ,WAAW,CAC/B,UAACa,KAA6C,EAAK;IACjDF,QAAQ,CAAC,UAACG,SAAS;MAAA,OAAAC,aAAA,CAAAA,aAAA,KACdD,SAAS,GACR,OAAOD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACC,SAAS,CAAC,GAAGD,KAAK;IAAA,CAC1D,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,OAAO,CAACH,KAAK,EAAEE,aAAa,CAAC;AAC/B,CAAC;AAED,SAASV,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","SheetEventContext","undefined","useSheetEvent"],"sources":["../../src/hooks/useSheetEvent.ts"],"sourcesContent":["import Events from 'events';\nimport { createContext, useContext } from 'react';\n\nexport const SheetEventContext = createContext<Events | undefined>(undefined);\n\nexport function useSheetEvent() {\n return useContext(SheetEventContext)!;\n}\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAEjD,OAAO,IAAMC,iBAAiB,gBAAGF,aAAa,CAAqBG,SAAS,CAAC;AAE7E,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC9B,OAAOH,UAAU,CAACC,iBAAiB,CAAC;AACtC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["default","Sheet","Table","useSheetEvent"],"sources":["../src/index.ts"],"sourcesContent":["export * from './core/editor';\nexport { default as Sheet } from './core/sheet';\nexport { default as Table } from './core/table';\nexport { useSheetEvent } from './hooks/useSheetEvent';\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,KAAK;AACzB,SAASD,OAAO,IAAIE,KAAK;AACzB,SAASC,aAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["formatPrecision","value","precision","arguments","length","undefined","Number","isNaN","b","Math","pow","res","round","toFixed","thousandsSeparator","_String$split","String","split","_String$split2","_slicedToArray","integer","decimal","formattedData","replace","concat"],"sources":["../../src/standardUtils/index.ts"],"sourcesContent":["type ValueParams = string | number | null | undefined;\n\nexport const formatPrecision = (value: ValueParams, precision = 2) => {\n if (Number.isNaN(Number(value)) || value === null || value === 0) {\n return '0';\n }\n\n const b = 10 ** precision;\n const res = Math.round(Number(value) * b) / b;\n\n return res.toFixed(precision);\n};\n\n/**\n * 千位分隔符\n * @param value 需要千分符格式化的数据\n * @returns 含千分符的字符串\n */\nexport const thousandsSeparator = (value: string | number) => {\n const [integer, decimal] = String(value).split('.');\n let formattedData = integer.replace(/(\\d{1,3})(?=(\\d{3})+$)/g, '$1,');\n if (decimal && decimal.length) {\n formattedData += `.${decimal}`;\n }\n return formattedData;\n};\n"],"mappings":";;;;;;AAEA,OAAO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAkB,EAAoB;EAAA,IAAlBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC/D,IAAIG,MAAM,CAACC,KAAK,CAACD,MAAM,CAACL,KAAK,CAAC,CAAC,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,CAAC,EAAE;IAChE,OAAO,GAAG;EACZ;EAEA,IAAMO,CAAC,GAAAC,IAAA,CAAAC,GAAA,CAAG,EAAE,EAAIR,SAAS;EACzB,IAAMS,GAAG,GAAGF,IAAI,CAACG,KAAK,CAACN,MAAM,CAACL,KAAK,CAAC,GAAGO,CAAC,CAAC,GAAGA,CAAC;EAE7C,OAAOG,GAAG,CAACE,OAAO,CAACX,SAAS,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMY,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIb,KAAsB,EAAK;EAC5D,IAAAc,aAAA,GAA2BC,MAAM,CAACf,KAAK,CAAC,CAACgB,KAAK,CAAC,GAAG,CAAC;IAAAC,cAAA,GAAAC,cAAA,CAAAJ,aAAA;IAA5CK,OAAO,GAAAF,cAAA;IAAEG,OAAO,GAAAH,cAAA;EACvB,IAAII,aAAa,GAAGF,OAAO,CAACG,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC;EACrE,IAAIF,OAAO,IAAIA,OAAO,CAACjB,MAAM,EAAE;IAC7BkB,aAAa,QAAAE,MAAA,CAAQH,OAAO,CAAE;EAChC;EACA,OAAOC,aAAa;AACtB,CAAC"}
|
package/dist/type/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SheetType","_SheetTableType","SheetTableType"],"sources":["../../src/type/index.ts"],"sourcesContent":["export * as SheetType from './sheet';\nexport * as SheetTableType from './sheetTable';\n"],"mappings":";uBAAYA,SAAS;AAAA,YAAAC,eAAA;AAAA,SAAAA,eAAA,IACTC,cAAc"}
|
package/dist/type/sheet.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CellAlign"],"sources":["../../src/type/sheet.ts"],"sourcesContent":["import type { EventEmitter } from 'events';\nimport { SheetTableType } from '.';\n\nexport enum CellAlign {\n left = 'left',\n center = 'center',\n right = 'right',\n unset = 'unset',\n}\n\nexport type Cell = {\n id: string;\n key?: string;\n readonly?: boolean;\n component?: CellViewer;\n editable?: boolean;\n colSpan?: number;\n rowSpan?: number;\n width?: number;\n record?: Record<string, unknown>;\n disableEvents?: boolean;\n dataEditor?: CellEditor;\n valueViewer?: CellViewer;\n className?: string;\n align?: CellAlign;\n fixed?: Omit<CellAlign, 'center'>;\n value?: string | number | null;\n};\n\nexport type CellViewerProps = {\n value: unknown;\n record?: Record<string, unknown>;\n row?: number;\n col?: number;\n cell?: Cell;\n};\n\nexport type CellEditorProps = {\n value: unknown;\n cell?: Cell;\n onChange: (value: unknown) => void;\n onConfirm: (value: unknown) => void;\n} & CellViewerProps;\n\nexport type CellEditor = React.FC<CellEditorProps> & {\n checker?: (value: unknown) => boolean;\n formatter?: (value: unknown) => unknown;\n};\nexport type CellViewer = React.FC<CellViewerProps>;\n\nexport type CellPosition = {\n row: number;\n col: number;\n};\n\nexport type CellData = {\n id: string;\n cell: Cell;\n row: number;\n col: number;\n value?: string;\n};\n\nexport type CellNavigable = (\n cell?: Cell,\n row?: number,\n col?: number,\n) => boolean;\nexport type CellChangeHandler = (\n cells: CellData[],\n additions?: CellData[],\n) => void;\n\nexport type RowGroup = {\n groupName: string;\n groupStart: number;\n groupEnd: number;\n};\nexport type RowGroupConfig = {\n groups: RowGroup[];\n groupOpen: boolean[];\n};\nexport type MenuRenderProps = {\n position?: { top: number; left: number };\n cell?: CellPosition;\n onContextMenu?: (event: any) => void;\n};\n\nexport type SheetInstance = {\n zoomTo: (row?: number) => void;\n pushToHistory: (value: OperateHistory) => void;\n selectRow: (row?: number) => void;\n popHistory: () => OperateHistory;\n};\n\nexport type SheetProps = {\n sheetInstance?: React.MutableRefObject<SheetInstance | null>;\n sheetRenderer?: any;\n rowRenderer?: any;\n className?: string;\n data: Cell[][];\n freePaste?: boolean;\n virtualized?: boolean;\n\n groupConfig?: RowGroupConfig;\n\n onCellsChanged?: CellChangeHandler;\n menuRenderer?: React.FC<MenuRenderProps>;\n onContextMenu?: (event: any) => void;\n\n scroll?: { x?: number | string; y?: number | string };\n rowClassName?:\n | string\n | ((record: Record<string, unknown>, index: number) => string);\n children?: any[];\n};\n\nexport type SheetShell = Pick<SheetTableType.TableProps, 'columns'> & {\n className?: string;\n showGroup?: boolean;\n showSelect?: boolean;\n controlWidth?: number;\n controlProps?: {\n check?: {\n checked: boolean;\n indeterminate?: boolean;\n };\n group?: {\n open: boolean;\n };\n };\n};\n\nexport type SheetRow = {\n row: number;\n cells: Cell[];\n selected: boolean;\n children: React.ElementType;\n};\n\n// todo\nexport type windowAssertion = {\n clipboardData?: {\n getData?: (type: string) => string;\n setData?: (type: string, data: string) => string;\n };\n};\n\nexport type refAssertion = {\n contains?: (target: EventTarget | null) => boolean;\n focus?: () => boolean;\n} & HTMLSpanElement;\n\nexport type AttributesRenderer = (\n cell: Cell,\n row: number,\n col: number,\n) => Record<string, string>;\n\nexport type CellProps = {\n row: number;\n col: number;\n cell: Cell;\n cellRenderer?: React.ElementType;\n dataEditor?: React.ElementType;\n valueViewer?: React.ElementType;\n attributesRenderer?: AttributesRenderer;\n};\n\nexport type UpdateStateType = {\n eventBus: EventEmitter;\n start: CellPosition;\n end: CellPosition;\n selecting: boolean;\n forceEdit: boolean;\n clear: CellPosition;\n editing: CellPosition & { value?: string };\n history: OperateHistory[];\n freePaste?: boolean;\n data: Cell[][];\n mouseDown: boolean;\n lastSelected?: {\n start?: CellPosition;\n end?: CellPosition;\n };\n groupConfig?: {\n groups: RowGroup[];\n groupOpen: boolean[];\n };\n lastFocus: { id: string; col: number }[];\n lastEditing: CellPosition & { confirm?: boolean };\n cellChangeHandler: (cells: CellData[], additions?: CellData[]) => void;\n};\nexport type UpdateFocus = (start: CellPosition, end: CellPosition) => void;\n\nexport type Options<T = any> = {\n value: string;\n label: string;\n} & T;\n\nexport type OptionsType = Options<{\n disabled?: boolean;\n children?: OptionsType[];\n}>;\n\nexport type OperateHistory = {\n changes: Partial<CellData>[];\n type: OperateType;\n\n rowInfo?: {\n newRow?: number;\n deleteRow?: number;\n };\n extraInfo?: Record<string, unknown>;\n};\n\nexport type OperateType =\n // 前三个Type 直接调用 onCellChange\n | 'Edit'\n | 'Paste'\n | 'Delete'\n // 后三个单独Event 处理\n | 'DeleteRow'\n | 'NewRow'\n | 'Custom';\n"],"mappings":"AAGA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AAyIrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/type/sheetTable.ts"],"sourcesContent":["import { SheetType } from '.';\n\nexport type refAssertion = {\n contains?: (target: EventTarget | null) => boolean;\n focus?: () => boolean;\n} & HTMLTableSectionElement;\n\nexport type CellFixed = SheetType.CellAlign;\n\nexport type ColumnProps = {\n align?: SheetType.CellAlign;\n fixed?: Omit<CellFixed, 'center'>;\n width?: string | number;\n dataIndex?: string;\n title: string;\n key?: string;\n editable?: boolean;\n readonly?:\n | boolean\n | ((\n value: unknown,\n record: Record<string, unknown>,\n index: number,\n ) => boolean);\n render?: SheetType.CellViewer;\n editor?: SheetType.CellEditor;\n};\nexport type TableChange = {\n row: number;\n id: string;\n key: string;\n value: unknown;\n};\nexport type TableRowSelection = {\n onChange: (\n selectedRowKeys: string[],\n selectedRows: Record<string, unknown>[],\n ) => void;\n};\nexport type TableGroupConfig = {\n defaultOpen: boolean;\n};\nexport type TableProps = {\n className?: string;\n sheetInstance?: React.MutableRefObject<SheetType.SheetInstance | null>;\n columns: ColumnProps[];\n virtualized?: boolean;\n dataSource: Record<string, unknown>[];\n rowClassName?:\n | string\n | ((record: Record<string, unknown>, index: number) => string);\n rowKey?:\n | string\n | ((record: Record<string, unknown>, index: number) => string);\n scroll?: { x?: number | string; y?: number | string };\n sticky?: boolean;\n draggable?: boolean;\n rowSelection?: {\n rowSelected: string[];\n onChange: (\n selectedRowKeys: string[],\n selectedRows: Record<string, unknown>[],\n ) => void;\n };\n groupConfig?: {\n rowGroup: TableGroupConfig;\n onChange: (value: TableGroupConfig) => void;\n };\n\n onChange: (changes: TableChange[]) => void;\n handleAdd?: () => void;\n eventHandler?: Record<\n 'btn-click' | 'cell-edit' | 'cell-switch' | string,\n undefined | ((value: unknown) => void)\n >;\n};\n"],"mappings":""}
|