@zhenliang/sheet 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/config.js +2 -1
- package/dist/core/config.js.map +1 -0
- package/dist/core/editor/cascaderEditor/index.js +2 -1
- package/dist/core/editor/cascaderEditor/index.js.map +1 -0
- package/dist/core/editor/dateEditor/index.js +2 -1
- package/dist/core/editor/dateEditor/index.js.map +1 -0
- package/dist/core/editor/index.js +2 -1
- package/dist/core/editor/index.js.map +1 -0
- package/dist/core/editor/numberEditor/index.js +2 -1
- package/dist/core/editor/numberEditor/index.js.map +1 -0
- package/dist/core/editor/numberEditor/index.less +10 -0
- package/dist/core/editor/selectEditor/index.js +2 -1
- package/dist/core/editor/selectEditor/index.js.map +1 -0
- package/dist/core/reducers/index.js +2 -1
- package/dist/core/reducers/index.js.map +1 -0
- package/dist/core/reducers/keyboardReducer.js +6 -3
- package/dist/core/reducers/keyboardReducer.js.map +1 -0
- package/dist/core/reducers/mouseReducer.js +24 -10
- package/dist/core/reducers/mouseReducer.js.map +1 -0
- package/dist/core/reducers/sideEffectReducer.js +7 -7
- package/dist/core/reducers/sideEffectReducer.js.map +1 -0
- package/dist/core/reducers/stateReducer.js +2 -1
- package/dist/core/reducers/stateReducer.js.map +1 -0
- package/dist/core/sheet/Cell.d.ts +1 -1
- package/dist/core/sheet/Cell.js +2 -1
- package/dist/core/sheet/Cell.js.map +1 -0
- package/dist/core/sheet/DataEditor.js +2 -1
- package/dist/core/sheet/DataEditor.js.map +1 -0
- package/dist/core/sheet/DefaultCell.d.ts +1 -1
- package/dist/core/sheet/DefaultCell.js +2 -1
- package/dist/core/sheet/DefaultCell.js.map +1 -0
- package/dist/core/sheet/DefaultRow.js +2 -1
- package/dist/core/sheet/DefaultRow.js.map +1 -0
- package/dist/core/sheet/DefaultRowMapper.js +2 -1
- package/dist/core/sheet/DefaultRowMapper.js.map +1 -0
- package/dist/core/sheet/DefaultShell.js +2 -1
- package/dist/core/sheet/DefaultShell.js.map +1 -0
- package/dist/core/sheet/Event.js +2 -1
- package/dist/core/sheet/Event.js.map +1 -0
- package/dist/core/sheet/ValueViewer.js +2 -1
- package/dist/core/sheet/ValueViewer.js.map +1 -0
- package/dist/core/sheet/index.js +4 -2
- package/dist/core/sheet/index.js.map +1 -0
- package/dist/core/sheet/useCellEvent.js +2 -1
- package/dist/core/sheet/useCellEvent.js.map +1 -0
- package/dist/core/sheet/useContextMenu.js +2 -1
- package/dist/core/sheet/useContextMenu.js.map +1 -0
- package/dist/core/sheet/useKeyBoardEvent.js +14 -4
- package/dist/core/sheet/useKeyBoardEvent.js.map +1 -0
- package/dist/core/sheet/useMouseEvent.js +2 -1
- package/dist/core/sheet/useMouseEvent.js.map +1 -0
- package/dist/core/sheet/useVirtualList.js +2 -1
- package/dist/core/sheet/useVirtualList.js.map +1 -0
- package/dist/core/shell/draggableShell/index.d.ts +0 -1
- package/dist/core/shell/draggableShell/index.js +2 -1
- package/dist/core/shell/draggableShell/index.js.map +1 -0
- package/dist/core/shell/tableShell.d.ts +0 -1
- package/dist/core/shell/tableShell.js +2 -1
- package/dist/core/shell/tableShell.js.map +1 -0
- package/dist/core/table/index.js +2 -1
- package/dist/core/table/index.js.map +1 -0
- package/dist/core/table/useGroupConfig.js +2 -1
- package/dist/core/table/useGroupConfig.js.map +1 -0
- package/dist/core/table/useRowSelection.js +2 -1
- package/dist/core/table/useRowSelection.js.map +1 -0
- package/dist/core/table/util.js +2 -1
- package/dist/core/table/util.js.map +1 -0
- package/dist/core/util.js +2 -1
- package/dist/core/util.js.map +1 -0
- package/dist/core/viewer/btnViewer/index.js +2 -1
- package/dist/core/viewer/btnViewer/index.js.map +1 -0
- package/dist/core/viewer/checkViewer/index.js +2 -1
- package/dist/core/viewer/checkViewer/index.js.map +1 -0
- package/dist/core/viewer/editViewer/index.js +2 -1
- package/dist/core/viewer/editViewer/index.js.map +1 -0
- package/dist/core/viewer/groupViewer/index.js +2 -1
- package/dist/core/viewer/groupViewer/index.js.map +1 -0
- package/dist/core/viewer/index.js +2 -1
- package/dist/core/viewer/index.js.map +1 -0
- package/dist/core/viewer/switchViewer/index.js +2 -1
- package/dist/core/viewer/switchViewer/index.js.map +1 -0
- package/dist/example/antComponent.js +2 -1
- package/dist/example/antComponent.js.map +1 -0
- package/dist/example/basic.js +2 -1
- package/dist/example/basic.js.map +1 -0
- package/dist/example/ellipsis.js +2 -1
- package/dist/example/ellipsis.js.map +1 -0
- package/dist/example/fixed.js +2 -1
- package/dist/example/fixed.js.map +1 -0
- package/dist/example/group.js +2 -1
- package/dist/example/group.js.map +1 -0
- package/dist/example/selection.js +2 -1
- package/dist/example/selection.js.map +1 -0
- package/dist/example/sheet.js +2 -1
- package/dist/example/sheet.js.map +1 -0
- package/dist/example/valuationAnalyze.d.ts +1 -1
- package/dist/example/valuationAnalyze.js +2 -1
- package/dist/example/valuationAnalyze.js.map +1 -0
- package/dist/hooks/index.js +2 -1
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useEventBus.js +2 -1
- package/dist/hooks/useEventBus.js.map +1 -0
- package/dist/hooks/useKeyboard.js +3 -2
- package/dist/hooks/useKeyboard.js.map +1 -0
- package/dist/hooks/useMiddlewareReducer.js +2 -1
- package/dist/hooks/useMiddlewareReducer.js.map +1 -0
- package/dist/hooks/useMouse.js +2 -1
- package/dist/hooks/useMouse.js.map +1 -0
- package/dist/hooks/useSetState.js +2 -1
- package/dist/hooks/useSetState.js.map +1 -0
- package/dist/hooks/useSheetEvent.js +2 -1
- package/dist/hooks/useSheetEvent.js.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -0
- package/dist/standardUtils/index.js +2 -1
- package/dist/standardUtils/index.js.map +1 -0
- package/dist/type/index.js +2 -1
- package/dist/type/index.js.map +1 -0
- package/dist/type/sheet.js +2 -1
- package/dist/type/sheet.js.map +1 -0
- package/dist/type/sheetTable.js +2 -1
- package/dist/type/sheetTable.js.map +1 -0
- package/package.json +3 -3
- package/README_PROJECT.md +0 -40
package/dist/core/config.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TAB_KEY","ENTER_KEY","ESCAPE_KEY","LEFT_KEY","UP_KEY","RIGHT_KEY","DOWN_KEY","DELETE_KEY","BACKSPACE_KEY","Z_KEY","C_KEY","V_KEY","X_KEY"],"sources":["../../src/core/config.ts"],"sourcesContent":["export const TAB_KEY = 9;\nexport const ENTER_KEY = 13;\nexport const ESCAPE_KEY = 27;\nexport const LEFT_KEY = 37;\nexport const UP_KEY = 38;\nexport const RIGHT_KEY = 39;\nexport const DOWN_KEY = 40;\nexport const DELETE_KEY = 46;\nexport const BACKSPACE_KEY = 8;\nexport const Z_KEY = 90;\nexport const C_KEY = 67;\nexport const V_KEY = 86;\nexport const X_KEY = 88;\n"],"mappings":"AAAA,OAAO,IAAMA,OAAO,GAAG,CAAC;AACxB,OAAO,IAAMC,SAAS,GAAG,EAAE;AAC3B,OAAO,IAAMC,UAAU,GAAG,EAAE;AAC5B,OAAO,IAAMC,QAAQ,GAAG,EAAE;AAC1B,OAAO,IAAMC,MAAM,GAAG,EAAE;AACxB,OAAO,IAAMC,SAAS,GAAG,EAAE;AAC3B,OAAO,IAAMC,QAAQ,GAAG,EAAE;AAC1B,OAAO,IAAMC,UAAU,GAAG,EAAE;AAC5B,OAAO,IAAMC,aAAa,GAAG,CAAC;AAC9B,OAAO,IAAMC,KAAK,GAAG,EAAE;AACvB,OAAO,IAAMC,KAAK,GAAG,EAAE;AACvB,OAAO,IAAMC,KAAK,GAAG,EAAE;AACvB,OAAO,IAAMC,KAAK,GAAG,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Cascader","useMemo","optionsTransferToValue","jsx","_jsx","getCascaderEditor","options","CascaderEditor","props","value","onConfirm","val","handleChange","opt","console","log","length","autoFocus","open","className","onMouseDown","event","stopPropagation","displayRender","label","onChange","checker","res"],"sources":["../../../../src/core/editor/cascaderEditor/index.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { Cascader } from 'antd';\nimport 'antd/es/cascader/style/index.css';\nimport { useMemo } from 'react';\nimport { optionsTransferToValue } from '../../util';\nimport './index.less';\n\nconst getCascaderEditor = (options: SheetType.OptionsType[]) => {\n const CascaderEditor: SheetType.CellEditor = (props) => {\n const { value, onConfirm } = props;\n\n const val = useMemo(\n () => optionsTransferToValue(options, value as string),\n [value, options],\n );\n\n const handleChange = (opt: any) => {\n console.log(opt);\n onConfirm(opt ? opt[opt.length - 1] : null);\n };\n\n return (\n <Cascader\n autoFocus\n open\n className={'cascader-editor'}\n onMouseDown={(event: any) => {\n event.stopPropagation();\n }}\n value={val}\n // allowClear={false}\n displayRender={(label) => label[label.length - 1]}\n onChange={handleChange}\n // onBlur={handleBlur}\n // onKeyDown={handleKeyDown}\n options={options}\n />\n );\n };\n\n CascaderEditor.checker = (value) => {\n const res = optionsTransferToValue(options, value as string);\n return res && res.length > 0;\n };\n return CascaderEditor;\n};\nexport default getCascaderEditor;\n"],"mappings":"AACA,SAASA,QAAQ,QAAQ,MAAM;AAC/B,OAAO,kCAAkC;AACzC,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,sBAAsB;AAC/B;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAEtB,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,OAAgC,EAAK;EAC9D,IAAMC,cAAoC,GAAG,SAAvCA,cAAoCA,CAAIC,KAAK,EAAK;IACtD,IAAQC,KAAK,GAAgBD,KAAK,CAA1BC,KAAK;MAAEC,SAAS,GAAKF,KAAK,CAAnBE,SAAS;IAExB,IAAMC,GAAG,GAAGV,OAAO,CACjB;MAAA,OAAMC,sBAAsB,CAACI,OAAO,EAAEG,KAAe,CAAC;IAAA,GACtD,CAACA,KAAK,EAAEH,OAAO,CACjB,CAAC;IAED,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAQ,EAAK;MACjCC,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;MAChBH,SAAS,CAACG,GAAG,GAAGA,GAAG,CAACA,GAAG,CAACG,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7C,CAAC;IAED,oBACEZ,IAAA,CAACJ,QAAQ;MACPiB,SAAS;MACTC,IAAI;MACJC,SAAS,EAAE,iBAAkB;MAC7BC,WAAW,EAAE,SAAAA,YAACC,KAAU,EAAK;QAC3BA,KAAK,CAACC,eAAe,CAAC,CAAC;MACzB,CAAE;MACFb,KAAK,EAAEE;MACP;MAAA;MACAY,aAAa,EAAE,SAAAA,cAACC,KAAK;QAAA,OAAKA,KAAK,CAACA,KAAK,CAACR,MAAM,GAAG,CAAC,CAAC;MAAA,CAAC;MAClDS,QAAQ,EAAEb;MACV;MACA;MAAA;MACAN,OAAO,EAAEA;IAAQ,CAClB,CAAC;EAEN,CAAC;EAEDC,cAAc,CAACmB,OAAO,GAAG,UAACjB,KAAK,EAAK;IAClC,IAAMkB,GAAG,GAAGzB,sBAAsB,CAACI,OAAO,EAAEG,KAAe,CAAC;IAC5D,OAAOkB,GAAG,IAAIA,GAAG,CAACX,MAAM,GAAG,CAAC;EAC9B,CAAC;EACD,OAAOT,cAAc;AACvB,CAAC;AACD,eAAeF,iBAAiB"}
|
|
@@ -39,4 +39,5 @@ DateEditor.formatter = function (value) {
|
|
|
39
39
|
var _DateEditor$checker;
|
|
40
40
|
if (!(DateEditor !== null && DateEditor !== void 0 && (_DateEditor$checker = DateEditor.checker) !== null && _DateEditor$checker !== void 0 && _DateEditor$checker.call(DateEditor, value))) return null;
|
|
41
41
|
return value.replace('/', '-').replace('/', '-');
|
|
42
|
-
};
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DatePicker","moment","useEffect","useMemo","useRef","jsx","_jsx","DateEditor","props","value","onChange","onConfirm","dateRef","_dateRef$current","current","focus","val","handleChange","format","open","ref","className","onMouseDown","e","stopPropagation","checker","reg","test","formatter","_DateEditor$checker","call","replace"],"sources":["../../../../src/core/editor/dateEditor/index.tsx"],"sourcesContent":["import { DatePicker } from 'antd';\nimport 'antd/es/date-picker/style/index.css';\n\nimport type { SheetType } from '@zhenliang/sheet/type';\nimport moment from 'moment';\nimport { useEffect, useMemo, useRef } from 'react';\nimport './index.less';\n\nexport const DateEditor: SheetType.CellEditor = (props) => {\n const { value, onChange, onConfirm } = props;\n const dateRef = useRef<any>(null);\n\n useEffect(() => {\n dateRef?.current?.focus();\n }, []);\n\n const val = useMemo(() => value && moment(value as string), [value]);\n\n const handleChange = (value: any) => {\n onChange(value?.format('YYYY-MM-DD'));\n onConfirm(value?.format('YYYY-MM-DD'));\n };\n\n return (\n <DatePicker\n open\n ref={dateRef}\n className=\"date-editor\"\n value={val as any}\n onMouseDown={(e) => e.stopPropagation()}\n onChange={handleChange}\n />\n );\n};\n\nDateEditor.checker = (value) => {\n const reg = /^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;\n return reg.test(value as string);\n};\n\nDateEditor.formatter = (value) => {\n if (!DateEditor?.checker?.(value)) return null;\n return (value as string).replace('/', '-').replace('/', '-');\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,MAAM;AACjC,OAAO,qCAAqC;AAG5C,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAClD;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAEtB,OAAO,IAAMC,UAAgC,GAAG,SAAnCA,UAAgCA,CAAIC,KAAK,EAAK;EACzD,IAAQC,KAAK,GAA0BD,KAAK,CAApCC,KAAK;IAAEC,QAAQ,GAAgBF,KAAK,CAA7BE,QAAQ;IAAEC,SAAS,GAAKH,KAAK,CAAnBG,SAAS;EAClC,IAAMC,OAAO,GAAGR,MAAM,CAAM,IAAI,CAAC;EAEjCF,SAAS,CAAC,YAAM;IAAA,IAAAW,gBAAA;IACdD,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEE,OAAO,cAAAD,gBAAA,uBAAhBA,gBAAA,CAAkBE,KAAK,CAAC,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,GAAG,GAAGb,OAAO,CAAC;IAAA,OAAMM,KAAK,IAAIR,MAAM,CAACQ,KAAe,CAAC;EAAA,GAAE,CAACA,KAAK,CAAC,CAAC;EAEpE,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAIR,KAAU,EAAK;IACnCC,QAAQ,CAACD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,MAAM,CAAC,YAAY,CAAC,CAAC;IACrCP,SAAS,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,MAAM,CAAC,YAAY,CAAC,CAAC;EACxC,CAAC;EAED,oBACEZ,IAAA,CAACN,UAAU;IACTmB,IAAI;IACJC,GAAG,EAAER,OAAQ;IACbS,SAAS,EAAC,aAAa;IACvBZ,KAAK,EAAEO,GAAW;IAClBM,WAAW,EAAE,SAAAA,YAACC,CAAC;MAAA,OAAKA,CAAC,CAACC,eAAe,CAAC,CAAC;IAAA,CAAC;IACxCd,QAAQ,EAAEO;EAAa,CACxB,CAAC;AAEN,CAAC;AAEDV,UAAU,CAACkB,OAAO,GAAG,UAAChB,KAAK,EAAK;EAC9B,IAAMiB,GAAG,GAAG,yDAAyD;EACrE,OAAOA,GAAG,CAACC,IAAI,CAAClB,KAAe,CAAC;AAClC,CAAC;AAEDF,UAAU,CAACqB,SAAS,GAAG,UAACnB,KAAK,EAAK;EAAA,IAAAoB,mBAAA;EAChC,IAAI,EAACtB,UAAU,aAAVA,UAAU,gBAAAsB,mBAAA,GAAVtB,UAAU,CAAEkB,OAAO,cAAAI,mBAAA,eAAnBA,mBAAA,CAAAC,IAAA,CAAAvB,UAAU,EAAYE,KAAK,CAAC,GAAE,OAAO,IAAI;EAC9C,OAAQA,KAAK,CAAYsB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;AAC9D,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as getCascaderEditor } from "./cascaderEditor";
|
|
2
2
|
export { DateEditor } from "./dateEditor";
|
|
3
3
|
export { getNumberEditor, NumberEditor } from "./numberEditor";
|
|
4
|
-
export { default as getSelectEditor } from "./selectEditor";
|
|
4
|
+
export { default as getSelectEditor } from "./selectEditor";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","getCascaderEditor","DateEditor","getNumberEditor","NumberEditor","getSelectEditor"],"sources":["../../../src/core/editor/index.ts"],"sourcesContent":["export { default as getCascaderEditor } from './cascaderEditor';\nexport { DateEditor } from './dateEditor';\nexport { getNumberEditor, NumberEditor } from './numberEditor';\nexport { default as getSelectEditor } from './selectEditor';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,iBAAiB;AACrC,SAASC,UAAU;AACnB,SAASC,eAAe,EAAEC,YAAY;AACtC,SAASJ,OAAO,IAAIK,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["InputNumber","AntInputNumber","useEffect","useRef","jsx","_jsx","NumberEditor","props","value","onChange","inputNumberRef","_inputNumberRef$curre","current","focus","ref","controls","className","onMouseDown","e","stopPropagation","addonAfter","getNumberEditor","extraProps","_inputNumberRef$curre2","_objectSpread"],"sources":["../../../../src/core/editor/numberEditor/index.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { InputNumber as AntInputNumber, InputNumberProps } from 'antd';\nimport 'antd/es/input-number/style/index.css';\nimport { useEffect, useRef } from 'react';\nimport './index.less';\n\nexport const NumberEditor: SheetType.CellEditor = (props) => {\n const { value, onChange } = props;\n const inputNumberRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n inputNumberRef?.current?.focus();\n }, []);\n\n return (\n <AntInputNumber\n ref={inputNumberRef}\n controls={false}\n className=\"number-editor\"\n onMouseDown={(e) => e.stopPropagation()}\n value={value as number}\n addonAfter=\"%\"\n onChange={onChange}\n />\n );\n};\n\nexport const getNumberEditor = (\n extraProps: Pick<\n InputNumberProps,\n 'max' | 'min' | 'addonBefore' | 'addonAfter' | 'precision'\n >,\n) => {\n const NumberEditor: SheetType.CellEditor = (props) => {\n const { value, onChange } = props;\n const inputNumberRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n inputNumberRef?.current?.focus();\n }, []);\n\n return (\n <AntInputNumber\n ref={inputNumberRef}\n {...extraProps}\n controls={false}\n className=\"number-editor\"\n onMouseDown={(e) => e.stopPropagation()}\n value={value as number}\n onChange={onChange}\n />\n );\n };\n\n return NumberEditor;\n};\n"],"mappings":";;;;;;AACA,SAASA,WAAW,IAAIC,cAAc,QAA0B,MAAM;AACtE,OAAO,sCAAsC;AAC7C,SAASC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAEtB,OAAO,IAAMC,YAAkC,GAAG,SAArCA,YAAkCA,CAAIC,KAAK,EAAK;EAC3D,IAAQC,KAAK,GAAeD,KAAK,CAAzBC,KAAK;IAAEC,QAAQ,GAAKF,KAAK,CAAlBE,QAAQ;EACvB,IAAMC,cAAc,GAAGP,MAAM,CAAmB,IAAI,CAAC;EAErDD,SAAS,CAAC,YAAM;IAAA,IAAAS,qBAAA;IACdD,cAAc,aAAdA,cAAc,wBAAAC,qBAAA,GAAdD,cAAc,CAAEE,OAAO,cAAAD,qBAAA,uBAAvBA,qBAAA,CAAyBE,KAAK,CAAC,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EAEN,oBACER,IAAA,CAACJ,cAAc;IACba,GAAG,EAAEJ,cAAe;IACpBK,QAAQ,EAAE,KAAM;IAChBC,SAAS,EAAC,eAAe;IACzBC,WAAW,EAAE,SAAAA,YAACC,CAAC;MAAA,OAAKA,CAAC,CAACC,eAAe,CAAC,CAAC;IAAA,CAAC;IACxCX,KAAK,EAAEA,KAAgB;IACvBY,UAAU,EAAC,GAAG;IACdX,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC;AAED,OAAO,IAAMY,eAAe,GAAG,SAAlBA,eAAeA,CAC1BC,UAGC,EACE;EACH,IAAMhB,YAAkC,GAAG,SAArCA,YAAkCA,CAAIC,KAAK,EAAK;IACpD,IAAQC,KAAK,GAAeD,KAAK,CAAzBC,KAAK;MAAEC,QAAQ,GAAKF,KAAK,CAAlBE,QAAQ;IACvB,IAAMC,cAAc,GAAGP,MAAM,CAAmB,IAAI,CAAC;IAErDD,SAAS,CAAC,YAAM;MAAA,IAAAqB,sBAAA;MACdb,cAAc,aAAdA,cAAc,wBAAAa,sBAAA,GAAdb,cAAc,CAAEE,OAAO,cAAAW,sBAAA,uBAAvBA,sBAAA,CAAyBV,KAAK,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC;IAEN,oBACER,IAAA,CAACJ,cAAc,EAAAuB,aAAA,CAAAA,aAAA;MACbV,GAAG,EAAEJ;IAAe,GAChBY,UAAU;MACdP,QAAQ,EAAE,KAAM;MAChBC,SAAS,EAAC,eAAe;MACzBC,WAAW,EAAE,SAAAA,YAACC,CAAC;QAAA,OAAKA,CAAC,CAACC,eAAe,CAAC,CAAC;MAAA,CAAC;MACxCX,KAAK,EAAEA,KAAgB;MACvBC,QAAQ,EAAEA;IAAS,EACpB,CAAC;EAEN,CAAC;EAED,OAAOH,YAAY;AACrB,CAAC"}
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
width:100%;
|
|
5
5
|
height: 38px;
|
|
6
6
|
box-shadow: none !important;
|
|
7
|
+
text-align: inherit !important;
|
|
8
|
+
|
|
9
|
+
.ant-input-number-wrapper{
|
|
10
|
+
text-align: inherit !important;
|
|
11
|
+
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ant-input-number-input{
|
|
15
|
+
text-align: inherit !important;
|
|
16
|
+
}
|
|
7
17
|
|
|
8
18
|
.ant-input-number-input-wrap >input{
|
|
9
19
|
padding:0;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Select","jsx","_jsx","getSelectEditor","options","SelectEditor","props","value","onConfirm","handleChange","opt","updateValue","undefined","handleKeyDown","ev","which","persist","autoFocus","className","defaultOpen","allowClear","open","onMouseDown","e","stopPropagation","onChange","onKeyDown","popupClassName","checker","some","item","label"],"sources":["../../../../src/core/editor/selectEditor/index.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { Select } from 'antd';\nimport 'antd/es/select/style/index.css';\nimport './index.less';\n\nexport const getSelectEditor = (\n options: SheetType.Options[],\n): SheetType.CellEditor => {\n const SelectEditor: SheetType.CellEditor = (props) => {\n const { value, onConfirm } = props;\n\n const handleChange = (opt: any) => {\n const updateValue = opt === undefined ? null : opt;\n onConfirm(updateValue);\n };\n\n const handleKeyDown = (ev: any) => {\n // record last key pressed so we can handle enter\n if (ev.which === 13 || ev.which === 9) {\n ev.persist();\n }\n };\n\n return (\n <Select\n autoFocus\n className=\"select-editor\"\n defaultOpen\n allowClear\n open\n onMouseDown={(e) => {\n e.stopPropagation();\n }}\n value={value}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n options={options}\n popupClassName={'excelTablePopupClassName'}\n />\n );\n };\n\n SelectEditor.checker = (value) => {\n return (\n options.some((item: any) => item.value === value) ||\n options.some((item: any) => item.label === value)\n );\n };\n\n return SelectEditor;\n};\n\nexport default getSelectEditor;\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,MAAM;AAC7B,OAAO,gCAAgC;AACvC;AAAsB,SAAAC,GAAA,IAAAC,IAAA;AAEtB,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAC1BC,OAA4B,EACH;EACzB,IAAMC,YAAkC,GAAG,SAArCA,YAAkCA,CAAIC,KAAK,EAAK;IACpD,IAAQC,KAAK,GAAgBD,KAAK,CAA1BC,KAAK;MAAEC,SAAS,GAAKF,KAAK,CAAnBE,SAAS;IAExB,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAQ,EAAK;MACjC,IAAMC,WAAW,GAAGD,GAAG,KAAKE,SAAS,GAAG,IAAI,GAAGF,GAAG;MAClDF,SAAS,CAACG,WAAW,CAAC;IACxB,CAAC;IAED,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,EAAO,EAAK;MACjC;MACA,IAAIA,EAAE,CAACC,KAAK,KAAK,EAAE,IAAID,EAAE,CAACC,KAAK,KAAK,CAAC,EAAE;QACrCD,EAAE,CAACE,OAAO,CAAC,CAAC;MACd;IACF,CAAC;IAED,oBACEd,IAAA,CAACF,MAAM;MACLiB,SAAS;MACTC,SAAS,EAAC,eAAe;MACzBC,WAAW;MACXC,UAAU;MACVC,IAAI;MACJC,WAAW,EAAE,SAAAA,YAACC,CAAC,EAAK;QAClBA,CAAC,CAACC,eAAe,CAAC,CAAC;MACrB,CAAE;MACFjB,KAAK,EAAEA,KAAM;MACbkB,QAAQ,EAAEhB,YAAa;MACvBiB,SAAS,EAAEb,aAAc;MACzBT,OAAO,EAAEA,OAAQ;MACjBuB,cAAc,EAAE;IAA2B,CAC5C,CAAC;EAEN,CAAC;EAEDtB,YAAY,CAACuB,OAAO,GAAG,UAACrB,KAAK,EAAK;IAChC,OACEH,OAAO,CAACyB,IAAI,CAAC,UAACC,IAAS;MAAA,OAAKA,IAAI,CAACvB,KAAK,KAAKA,KAAK;IAAA,EAAC,IACjDH,OAAO,CAACyB,IAAI,CAAC,UAACC,IAAS;MAAA,OAAKA,IAAI,CAACC,KAAK,KAAKxB,KAAK;IAAA,EAAC;EAErD,CAAC;EAED,OAAOF,YAAY;AACrB,CAAC;AAED,eAAeF,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["keyboardReducer","mouseReducer","stateReducer","sheetReducer","state","action","type","payload","Error","sideEffectReducer"],"sources":["../../../src/core/reducers/index.ts"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { keyboardReducer } from './keyboardReducer';\nimport { mouseReducer } from './mouseReducer';\nimport { stateReducer } from './stateReducer';\n\nexport type SheetAction =\n | 'change'\n | 'changes'\n | 'rowMove'\n | 'colMove'\n | 'editFinish'\n | 'pushHistory'\n | 'selectRow'\n | 'clearSelect'\n | 'clearSelectIfNotSingleRow'\n | 'clearEdit'\n | 'mouseDown'\n | 'mouseOver'\n | 'mouseUp'\n | 'loseFocus'\n | 'doubleClick'\n | 'mouseLeaveInterval'\n | 'move'\n | 'escape'\n | 'reverse'\n | 'delete'\n | 'enter'\n | 'otherInput'\n | 'none';\n\nexport type reducerAction = (\n type: Partial<SheetType.UpdateStateType>,\n payload?: unknown,\n) => Partial<SheetType.UpdateStateType>;\n\nconst sheetReducer = (\n state: Partial<SheetType.UpdateStateType>,\n action: { type: SheetAction; payload?: unknown },\n) => {\n switch (action.type) {\n case 'change':\n case 'changes':\n case 'rowMove':\n case 'colMove':\n case 'editFinish':\n case 'pushHistory':\n case 'selectRow':\n case 'clearSelect':\n case 'clearSelectIfNotSingleRow':\n case 'clearEdit':\n return stateReducer[action.type](state, action.payload);\n case 'mouseDown':\n case 'mouseOver':\n case 'mouseUp':\n case 'loseFocus':\n case 'doubleClick':\n case 'mouseLeaveInterval':\n return mouseReducer[action.type](state, action.payload);\n case 'move':\n case 'escape':\n case 'reverse':\n case 'delete':\n case 'enter':\n case 'otherInput':\n return keyboardReducer[action.type](state, action.payload);\n default:\n throw new Error('Unexpected action');\n }\n};\n\nexport default sheetReducer;\n\nexport { sideEffectReducer } from './sideEffectReducer';\n"],"mappings":"AACA,SAASA,eAAe;AACxB,SAASC,YAAY;AACrB,SAASC,YAAY;AAgCrB,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAChBC,KAAyC,EACzCC,MAAgD,EAC7C;EACH,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,QAAQ;IACb,KAAK,SAAS;IACd,KAAK,SAAS;IACd,KAAK,SAAS;IACd,KAAK,YAAY;IACjB,KAAK,aAAa;IAClB,KAAK,WAAW;IAChB,KAAK,aAAa;IAClB,KAAK,2BAA2B;IAChC,KAAK,WAAW;MACd,OAAOJ,YAAY,CAACG,MAAM,CAACC,IAAI,CAAC,CAACF,KAAK,EAAEC,MAAM,CAACE,OAAO,CAAC;IACzD,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,KAAK,aAAa;IAClB,KAAK,oBAAoB;MACvB,OAAON,YAAY,CAACI,MAAM,CAACC,IAAI,CAAC,CAACF,KAAK,EAAEC,MAAM,CAACE,OAAO,CAAC;IACzD,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,SAAS;IACd,KAAK,QAAQ;IACb,KAAK,OAAO;IACZ,KAAK,YAAY;MACf,OAAOP,eAAe,CAACK,MAAM,CAACC,IAAI,CAAC,CAACF,KAAK,EAAEC,MAAM,CAACE,OAAO,CAAC;IAC5D;MACE,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;EACxC;AACF,CAAC;AAED,eAAeL,YAAY;AAE3B,SAASM,iBAAiB"}
|
|
@@ -65,10 +65,12 @@ export var keyboardReducer = {
|
|
|
65
65
|
return state;
|
|
66
66
|
},
|
|
67
67
|
enter: function enter(state, payload) {
|
|
68
|
+
var _data$start$row;
|
|
68
69
|
var start = state.start,
|
|
69
70
|
end = state.end,
|
|
70
|
-
editing = state.editing
|
|
71
|
-
|
|
71
|
+
editing = state.editing,
|
|
72
|
+
data = state.data;
|
|
73
|
+
if (!start || !end || data !== null && data !== void 0 && (_data$start$row = data[start.row]) !== null && _data$start$row !== void 0 && _data$start$row[start.col].readonly) {
|
|
72
74
|
return state;
|
|
73
75
|
}
|
|
74
76
|
if (!editing) {
|
|
@@ -88,4 +90,5 @@ export var keyboardReducer = {
|
|
|
88
90
|
if (state.editing) return state;
|
|
89
91
|
return keyboardReducer.enter(state, payload);
|
|
90
92
|
}
|
|
91
|
-
};
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=keyboardReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isNil","getNextVisibleRow","groupConfigToGroupMap","keyboardReducer","move","state","payload","_state$start","_state$start2","_ref","row","col","groupConfig","_state$data","data","newRow","start","length","currentPos","lastEditing","editing","_objectSpread","confirm","undefined","end","lastSelected","escape","reverse","delete","_delete","enter","_data$start$row","readonly","value","otherInput"],"sources":["../../../src/core/reducers/keyboardReducer.ts"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { isNil } from 'lodash';\nimport { reducerAction } from '.';\nimport { getNextVisibleRow, groupConfigToGroupMap } from '../util';\n\nexport const keyboardReducer: Record<string, reducerAction> = {\n move(state, payload) {\n const { row, col } = payload as SheetType.CellPosition;\n const { groupConfig, data = [] } = state;\n let newRow: number | null = (state.start?.row || 0) + row;\n if (groupConfig) {\n newRow = getNextVisibleRow(\n newRow as number,\n data.length,\n groupConfigToGroupMap(groupConfig),\n );\n }\n let currentPos = {\n row: newRow as number,\n col: (state.start?.col || 0) + col,\n };\n let lastEditing = state.lastEditing;\n if (state.editing) {\n lastEditing = { ...state.editing, confirm: true };\n }\n\n if (isNil(currentPos.row)) {\n return {\n ...state,\n start: undefined,\n end: undefined,\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n editing: undefined,\n lastEditing,\n };\n }\n\n return {\n ...state,\n start: currentPos,\n end: currentPos,\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n editing: undefined,\n lastEditing,\n };\n },\n escape(state) {\n return {\n ...state,\n editing: undefined,\n lastEditing: state.editing,\n };\n },\n reverse(state) {\n return state;\n },\n delete(state) {\n return state;\n },\n enter(state, payload) {\n const { start, end, editing, data } = state;\n if (!start || !end || data?.[start.row]?.[start.col].readonly) {\n return state;\n }\n\n if (!editing) {\n return {\n ...state,\n end: start,\n editing: { ...start, value: payload as string },\n };\n }\n return keyboardReducer.move(state, { row: 1, col: 0 });\n },\n otherInput(state, payload) {\n if (state.editing) return state;\n return keyboardReducer.enter(state, payload);\n },\n};\n"],"mappings":"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"}
|
|
@@ -11,16 +11,27 @@ export var mouseReducer = {
|
|
|
11
11
|
row = _ref$pos.row,
|
|
12
12
|
col = _ref$pos.col,
|
|
13
13
|
shiftKey = _ref.shiftKey;
|
|
14
|
-
var data = state.data
|
|
14
|
+
var data = state.data,
|
|
15
|
+
start = state.start,
|
|
16
|
+
end = state.end;
|
|
15
17
|
if (data !== null && data !== void 0 && data[row][col].fixed) {
|
|
16
|
-
return _objectSpread({}, state)
|
|
18
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
19
|
+
start: undefined,
|
|
20
|
+
end: undefined,
|
|
21
|
+
lastSelected: {
|
|
22
|
+
start: start,
|
|
23
|
+
end: end
|
|
24
|
+
}
|
|
25
|
+
});
|
|
17
26
|
}
|
|
18
27
|
if (shiftKey) {
|
|
19
28
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
20
29
|
mouseDown: true,
|
|
21
30
|
editing: undefined,
|
|
22
|
-
lastEditing: state.editing,
|
|
23
|
-
|
|
31
|
+
lastEditing: _objectSpread(_objectSpread({}, state.editing), {}, {
|
|
32
|
+
confirm: true
|
|
33
|
+
}),
|
|
34
|
+
start: start ? start : {
|
|
24
35
|
row: row,
|
|
25
36
|
col: col
|
|
26
37
|
},
|
|
@@ -29,15 +40,17 @@ export var mouseReducer = {
|
|
|
29
40
|
col: col
|
|
30
41
|
},
|
|
31
42
|
lastSelected: {
|
|
32
|
-
start:
|
|
33
|
-
end:
|
|
43
|
+
start: start,
|
|
44
|
+
end: end
|
|
34
45
|
}
|
|
35
46
|
});
|
|
36
47
|
}
|
|
37
48
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
38
49
|
mouseDown: true,
|
|
39
50
|
editing: undefined,
|
|
40
|
-
lastEditing: state.editing,
|
|
51
|
+
lastEditing: _objectSpread(_objectSpread({}, state.editing), {}, {
|
|
52
|
+
confirm: true
|
|
53
|
+
}),
|
|
41
54
|
start: {
|
|
42
55
|
row: row,
|
|
43
56
|
col: col
|
|
@@ -47,8 +60,8 @@ export var mouseReducer = {
|
|
|
47
60
|
col: col
|
|
48
61
|
},
|
|
49
62
|
lastSelected: {
|
|
50
|
-
start:
|
|
51
|
-
end:
|
|
63
|
+
start: start,
|
|
64
|
+
end: end
|
|
52
65
|
}
|
|
53
66
|
});
|
|
54
67
|
},
|
|
@@ -148,4 +161,5 @@ export var mouseReducer = {
|
|
|
148
161
|
end: end
|
|
149
162
|
});
|
|
150
163
|
}
|
|
151
|
-
};
|
|
164
|
+
};
|
|
165
|
+
//# sourceMappingURL=mouseReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mouseReducer","mouseDown","state","payload","_ref","_ref$pos","pos","row","col","shiftKey","data","start","end","fixed","_objectSpread","undefined","lastSelected","editing","lastEditing","confirm","mouseOver","_ref2","mouseUp","_ref3","loseFocus","doubleClick","_data$row$col","_ref4","readonly","mouseLeaveInterval","_data$","_data$$end$col","_ref5"],"sources":["../../../src/core/reducers/mouseReducer.ts"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { reducerAction } from '.';\n\nexport const mouseReducer: Record<string, reducerAction> = {\n mouseDown(state, payload) {\n const {\n pos: { row, col },\n shiftKey,\n } = payload as {\n pos: { row: number; col: number };\n shiftKey: boolean;\n };\n const { data, start, end } = state;\n if (data?.[row][col].fixed) {\n return {\n ...state,\n start: undefined,\n end: undefined,\n lastSelected: {\n start,\n end,\n },\n };\n }\n\n if (shiftKey) {\n return {\n ...state,\n mouseDown: true,\n editing: undefined,\n lastEditing: {\n ...state.editing,\n confirm: true,\n },\n start: start ? start : { row, col },\n end: { row, col },\n lastSelected: {\n start: start,\n end: end,\n },\n };\n }\n return {\n ...state,\n mouseDown: true,\n editing: undefined,\n lastEditing: {\n ...state.editing,\n confirm: true,\n },\n start: { row, col },\n end: { row, col },\n lastSelected: {\n start: start,\n end: end,\n },\n };\n },\n mouseOver(state, payload) {\n const { row, col } = payload as {\n row: number;\n col: number;\n };\n\n const { data } = state;\n\n if (state.mouseDown === false || data?.[row][col].fixed) return state;\n return {\n ...state,\n end: { row, col },\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n };\n },\n mouseUp(state, payload) {\n const { row, col } = payload as {\n row: number;\n col: number;\n };\n\n const { data } = state;\n if (state.mouseDown === false || data?.[row][col].fixed) return state;\n return {\n ...state,\n mouseDown: false,\n end: { row, col },\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n };\n },\n loseFocus(state) {\n let lastEditing = state.lastEditing;\n if (state.editing) {\n lastEditing = { ...state.editing, confirm: true };\n }\n return {\n ...state,\n start: undefined,\n end: undefined,\n editing: undefined,\n lastEditing,\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n };\n },\n doubleClick(state, payload) {\n const { row, col } = payload as {\n row: number;\n col: number;\n };\n const { data } = state;\n if (data?.[row][col]?.readonly) {\n return state;\n }\n return {\n ...state,\n mouseDown: false,\n editing: { row, col },\n start: { row, col },\n end: { row, col },\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n lastEditing: state.editing,\n };\n },\n mouseLeaveInterval(state, payload) {\n const { end } = payload as { end: SheetType.CellPosition };\n const { data } = state;\n // fixed 列不选中\n if (data?.[0]?.[end.col]?.fixed) {\n return state;\n }\n\n return {\n ...state,\n end,\n };\n },\n};\n"],"mappings":"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"}
|
|
@@ -294,12 +294,11 @@ export var sideEffectReducer = {
|
|
|
294
294
|
if (!['Edit', 'Paste', 'Delete'].includes(type)) {
|
|
295
295
|
eventBus.emit('reverse', change);
|
|
296
296
|
if (type === 'DeleteRow') {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
});
|
|
297
|
+
// console.log(change.rowInfo?.deleteRow);
|
|
298
|
+
// dispatch({
|
|
299
|
+
// type: 'selectRow',
|
|
300
|
+
// payload: change.rowInfo?.deleteRow as number,
|
|
301
|
+
// });
|
|
303
302
|
}
|
|
304
303
|
dispatch({
|
|
305
304
|
type: 'changes',
|
|
@@ -323,4 +322,5 @@ export var sideEffectReducer = {
|
|
|
323
322
|
}
|
|
324
323
|
});
|
|
325
324
|
}
|
|
326
|
-
};
|
|
325
|
+
};
|
|
326
|
+
//# sourceMappingURL=sideEffectReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","_catch","thrown","delegateYield","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","isArray","len","arr2","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","target","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","head","isNil","last","pick","clipboardDataToString","defaultValueRenderer","flatRowCol","flatRowColIndex","formatDataToCell","getRowColConfig","groupConfigToGroupMap","stringToClipboardData","sideEffectReducer","init","dispatch","getState","_getState","eventBus","on","cell","_getState2","cellChangeHandler","payload","_ref","row","col","_getState3","start","end","_getRowColConfig","startRow","endRow","startCol","endCol","isMultiSelected","isSelected","emit","concat","selected","selectedInfo","isStart","isTop","isBottom","isLeft","isRight","destroy","d","_getState4","removeAllListeners","emitSelectChange","_getState5","lastSelected","_getRowColConfig2","selectedCellIndex","selectedCells","cancelCells","includes","_ref2","emitEditChange","_getState6","editing","lastEditing","confirm","copy","_getState7","data","groupConfig","cellIndex","groupMap","copyData","reduce","left","_ref3","_ref3$row","_ref3$col","currentRow","get","_groupMap$get","_groupMap$get2","isOpen","currentValue","text","trimStart","paste","_callee","_getState8","history","_getState8$freePaste","freePaste","pasteData","changeInfo","changes","extChanges","legalChanges","legalExtChanges","newHistory","_callee$","_context","_ref4","editor","dataEditor","checker","_ref5","map","item","delete","_delete","_getState9","_data$item$row","readonly","_groupMap$get3","_groupMap$get4","_data$item$row2","_getState10","console","log","changeHistory","change"],"sources":["../../../src/core/reducers/sideEffectReducer.ts"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { head, isNil, last, pick } from 'lodash';\nimport { FunctionAction, NormalAction } from '../../hooks';\nimport {\n clipboardDataToString,\n defaultValueRenderer,\n flatRowCol,\n flatRowColIndex,\n formatDataToCell,\n getRowColConfig,\n groupConfigToGroupMap,\n stringToClipboardData,\n} from '../util';\n\nexport type asyncActionType = (\n dispatch: (action: NormalAction | FunctionAction) => void,\n getState: () => SheetType.UpdateStateType,\n) => void;\n\nexport const sideEffectReducer: Record<string, asyncActionType> = {\n init(dispatch, getState) {\n const { eventBus } = getState();\n eventBus.on(\n 'cell-change',\n (cell: SheetType.CellData & { confirm?: boolean }) => {\n dispatch(() => {\n const { cellChangeHandler } = getState();\n cellChangeHandler && cellChangeHandler([cell]);\n dispatch({ type: 'editFinish', payload: { cell } });\n });\n },\n );\n eventBus.on('cell-create', ({ row, col }: { row: number; col: number }) => {\n const { start, end } = getState();\n const { startRow, endRow, startCol, endCol } = getRowColConfig(\n start,\n end,\n );\n const isMultiSelected = startRow !== endRow && startCol !== endCol;\n const isSelected =\n row >= startRow && row <= endRow && col >= startCol && col <= endCol;\n if (isSelected) {\n eventBus.emit(`cell-${row}-${col}-change`, {\n selected: true,\n selectedInfo: {\n isStart: row === start?.row && col === start.col && isMultiSelected,\n isTop: row === startRow,\n isBottom: row === endRow,\n isLeft: col === startCol,\n isRight: col === endCol,\n },\n });\n }\n });\n },\n destroy(d, getState) {\n const { eventBus } = getState();\n eventBus?.removeAllListeners();\n },\n emitSelectChange(d, getState) {\n const { eventBus, lastSelected, start, end } = getState();\n const { startRow, endRow, startCol, endCol } = getRowColConfig(start, end);\n\n const selectedCellIndex = flatRowColIndex(start, end);\n const selectedCells = flatRowCol(start, end);\n const cancelCells = flatRowCol(lastSelected?.start, lastSelected?.end);\n\n cancelCells.forEach((cell) => {\n if (selectedCells.includes(cell)) return;\n eventBus.emit(`cell-${cell}-change`, {\n selected: false,\n selectedInfo: undefined,\n });\n });\n\n selectedCellIndex.forEach(({ row, col }) => {\n eventBus.emit(`cell-${row}-${col}-change`, {\n selected: true,\n selectedInfo: {\n isStart:\n row === start?.row &&\n col === start.col &&\n selectedCellIndex.length !== 1,\n isTop: row === startRow,\n isBottom: row === endRow,\n isLeft: col === startCol,\n isRight: col === endCol,\n },\n });\n });\n },\n emitEditChange(d, getState) {\n const { editing, lastEditing, eventBus } = getState();\n\n if (!isNil(editing?.col) && !isNil(editing?.row)) {\n eventBus.emit(`cell-${editing.row}-${editing.col}-change`, {\n editing: true,\n value: editing.value,\n });\n }\n if (!isNil(lastEditing?.col) && !isNil(lastEditing?.row)) {\n //清空上一个编辑cell的状态\n eventBus.emit(`cell-${lastEditing.row}-${lastEditing.col}-change`, {\n editing: false,\n confirm: lastEditing?.confirm,\n });\n d({ type: 'changes', payload: { lastEditing: undefined } });\n }\n },\n copy(d, getState) {\n const { start, end, data, groupConfig } = getState();\n const cellIndex = flatRowColIndex(start, end);\n\n const groupMap = groupConfigToGroupMap(groupConfig);\n\n const copyData = cellIndex.reduce(\n (left, { row = 0, col = 0 }) => {\n const { currentRow, value } = left;\n\n if (groupMap.get(row)) {\n // 如果是分组的子行并且是合并的状态\n if (!groupMap.get(row)?.isStart && !groupMap.get(row)?.isOpen) {\n return {\n currentRow: row,\n value: `${value}`,\n };\n }\n }\n\n const currentValue = `${value}${\n currentRow === row ? '\\t' : '\\n'\n } ${defaultValueRenderer(data[row][col])}`;\n return {\n currentRow: row,\n value: currentValue,\n };\n },\n { currentRow: -1, value: '' },\n );\n const text = copyData.value.trimStart();\n stringToClipboardData(text);\n },\n async paste(dispatch, getState) {\n const {\n start,\n end,\n cellChangeHandler,\n history,\n freePaste = false,\n data,\n groupConfig,\n } = getState();\n const pasteData = await clipboardDataToString();\n\n const changeInfo = formatDataToCell({\n ...pick(getState(), ['data', 'start', 'end', 'editing']),\n pasteData,\n groupConfig,\n freePaste,\n });\n if (!changeInfo) return;\n const { changes, extChanges } = changeInfo;\n\n const legalChanges = changes.filter(({ row, col, value }) => {\n const editor = data[row][col].dataEditor;\n if (editor && editor.checker) {\n return editor.checker(value);\n }\n return true;\n });\n const legalExtChanges = extChanges?.filter(({ value, col }) => {\n const editor = data[0][col].dataEditor;\n if (editor && editor.checker) {\n return editor.checker(value);\n }\n return true;\n });\n cellChangeHandler &&\n cellChangeHandler(legalChanges as any, legalExtChanges as any);\n\n let newHistory = [...(history || [])];\n newHistory.push({\n changes: legalChanges.map((item) => ({\n ...item,\n value: data[item.row][item.col].value as string,\n })),\n type: 'Paste',\n });\n\n dispatch({\n type: 'changes',\n payload: {\n start: pick(legalChanges[0], ['row', 'col']),\n history: newHistory,\n end: pick(legalChanges[legalChanges.length - 1], ['row', 'col']),\n lastSelected: {\n start,\n end,\n },\n },\n });\n },\n delete(dispatch, getState) {\n const {\n cellChangeHandler,\n start,\n end,\n data,\n history,\n groupConfig,\n editing,\n } = getState();\n\n if (editing) return;\n\n const groupMap = groupConfigToGroupMap(groupConfig);\n const cellIndex = flatRowColIndex(start, end);\n const changes = cellIndex\n .filter((item) => !data?.[item.row]?.[item.col].readonly)\n .filter(\n // 过滤掉分组的子行并且是关闭的状态\n (item) =>\n !(\n groupMap.get(item.row) &&\n !groupMap.get(item.row)?.isStart &&\n !groupMap.get(item.row)?.isOpen\n ),\n )\n .map((item) => ({\n cell: data?.[item.row]?.[item.col],\n row: item.row,\n col: item.col,\n value: '',\n }));\n\n let newHistory = [...(history || [])];\n newHistory.push({\n changes: changes.map((item) => ({\n ...item,\n value: data[item.row][item.col].value as string,\n })),\n type: 'Delete',\n });\n cellChangeHandler && cellChangeHandler(changes as any);\n dispatch({ type: 'changes', payload: { history: newHistory } });\n },\n reverse(dispatch, getState) {\n const { start, end, history, cellChangeHandler, eventBus } = getState();\n if (!history?.length) return;\n console.log(history.length);\n\n const changeHistory = [...history];\n const change = changeHistory.pop() as SheetType.OperateHistory;\n const { type } = change;\n if (!['Edit', 'Paste', 'Delete'].includes(type)) {\n eventBus.emit('reverse', change);\n if (type === 'DeleteRow') {\n // console.log(change.rowInfo?.deleteRow);\n // dispatch({\n // type: 'selectRow',\n // payload: change.rowInfo?.deleteRow as number,\n // });\n }\n\n dispatch({\n type: 'changes',\n payload: {\n history: changeHistory,\n },\n });\n return;\n }\n cellChangeHandler &&\n cellChangeHandler(change.changes as SheetType.CellData[]);\n\n dispatch({\n type: 'changes',\n payload: {\n start: pick(head(change.changes), ['row', 'col']),\n end: pick(last(change.changes), ['row', 'col']),\n lastSelected: {\n start,\n end,\n },\n history: changeHistory,\n },\n });\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["stateReducer","change","state","payload","_ref","key","value","_objectSpread","_defineProperty","changes","rowMove","_state$data","_state$end","_state$end2","maxRow","data","length","newRow","end","row","col","colMove","_state$data2","_state$data2$","_state$end3","_state$data3","_state$end4","maxCol","newCol","fixed","editFinish","_data$row","_ref2","_ref2$cell","cell","confirm","history","_toConsumableArray","current","console","log","push","type","editing","undefined","lastEditing","pushHistory","concat","selectRow","_state$data4","_state$data4$","_state$data5","startCol","findIndex","item","endCol","start","lastSelected","clearSelect","clearSelectIfNotSingleRow","clearEdit"],"sources":["../../../src/core/reducers/stateReducer.ts"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { reducerAction } from '.';\n\nexport const stateReducer: Record<string, reducerAction> = {\n change(state, payload) {\n const { key, value } = payload as { key: string; value: string };\n return { ...state, [key]: value };\n },\n changes(state, payload) {\n return { ...state, ...(payload as Partial<SheetType.UpdateStateType>) };\n },\n rowMove(state, payload) {\n const maxRow = (state.data?.length || 0) - 1;\n const newRow = (state.end?.row || 0) + (payload as number);\n if (newRow < 0 || newRow > maxRow) return state;\n return {\n ...state,\n end: {\n col: state.end?.col as number,\n row: newRow,\n },\n };\n },\n colMove(state, payload) {\n const maxCol = (state.data?.[0]?.length || 0) - 1;\n const newCol = (state.end?.col || 0) + (payload as number);\n if (newCol < 0 || newCol > maxCol || state.data?.[0][newCol].fixed)\n return state;\n return {\n ...state,\n end: {\n row: state.end?.row as number,\n col: newCol,\n },\n };\n },\n editFinish(state, payload) {\n const { data } = state;\n const {\n cell: { row, col, confirm },\n } = payload as {\n cell: SheetType.CellData & { confirm: boolean };\n };\n let history = [...(state.history || [])];\n const current = data?.[row]?.[col].value;\n console.log(history.length, current);\n history.push({\n changes: [{ row, col, value: current as string }],\n type: 'Edit' as SheetType.OperateType,\n });\n if (confirm) {\n return {\n ...state,\n editing: undefined,\n lastEditing: state.editing,\n history,\n };\n }\n return {\n ...state,\n history,\n };\n },\n pushHistory(state, payload) {\n return {\n ...state,\n history: [...(state.history || []), payload as SheetType.OperateHistory],\n };\n },\n selectRow(state, payload) {\n const startCol = state.data?.[0]?.findIndex((item) => !item.fixed) || 0;\n const endCol = (state.data?.[0].length || 0) - 1;\n if (startCol >= 0 && endCol >= 0) {\n return {\n ...state,\n start: {\n row: payload as number,\n col: startCol,\n },\n end: {\n row: payload as number,\n col: endCol,\n },\n lastSelected: {\n start: state.start,\n end: state.end,\n },\n };\n }\n return {};\n },\n clearSelect(state) {\n const { start, end } = state;\n return {\n ...state,\n start: undefined,\n end: undefined,\n lastSelected: {\n start,\n end,\n },\n };\n },\n clearSelectIfNotSingleRow(state) {\n const { start, end } = state;\n if (start?.row === end?.row) {\n return {\n ...state,\n };\n }\n return {\n ...state,\n start: undefined,\n end: undefined,\n lastSelected: {\n start,\n end,\n },\n };\n },\n clearEdit(state) {\n const { editing } = state;\n return {\n ...state,\n editing: undefined,\n lastEditing: editing,\n };\n },\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { SheetType } from "../../type";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
declare const _default: React.MemoExoticComponent<(props: SheetType.CellProps) =>
|
|
3
|
+
declare const _default: React.MemoExoticComponent<(props: SheetType.CellProps) => JSX.Element>;
|
|
4
4
|
export default _default;
|
package/dist/core/sheet/Cell.js
CHANGED
|
@@ -155,4 +155,5 @@ var Cell = function Cell(props) {
|
|
|
155
155
|
export default /*#__PURE__*/memo(Cell, function (pre, next) {
|
|
156
156
|
var shouldUpdate = pre.col === next.col && pre.row === next.row && pre.cell.value === next.cell.value && pre.cell.record === next.cell.record;
|
|
157
157
|
return shouldUpdate;
|
|
158
|
-
});
|
|
158
|
+
});
|
|
159
|
+
//# sourceMappingURL=Cell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isNil","React","memo","useCallback","useEffect","useMemo","useRef","useState","useSetState","useSheetEvent","renderValue","DataEditor","DefaultCell","ValueViewer","jsx","_jsx","initialData","_ref","cell","widthStyle","width","concat","align","position","fixed","left","right","textAlign","Cell","props","_cell$editable","row","col","_props$cellRenderer","cellRenderer","CellRenderer","dataEditor","valueViewer","attributesRenderer","eventBus","_useSetState","_useSetState2","_slicedToArray","eventState","setEventState","selected","selectedInfo","editing","confirm","_useState","_useState2","value","setValue","valueRef","newValue","current","onCellState","eventInfo","on","emit","off","console","log","handleCommit","renderEditor","cel","r","editor","isEditing","Editor","onConfirm","onChange","renderViewer","valViewer","Viewer","val","record","content","editable","className","isStart","isBottom","isTop","isLeft","isRight","readonly","filter","a","join","style","children","pre","next","shouldUpdate"],"sources":["../../../src/core/sheet/Cell.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { isNil } from 'lodash';\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useSetState, useSheetEvent } from '../../hooks';\nimport { renderValue } from '../util';\nimport DataEditor from './DataEditor';\nimport DefaultCell from './DefaultCell';\nimport ValueViewer from './ValueViewer';\n\ntype EventInfo = {\n selected: boolean;\n value?: string;\n editing: boolean;\n};\nfunction initialData({ cell }: SheetType.CellProps) {\n return renderValue(cell);\n}\n\nfunction widthStyle(cell: SheetType.Cell) {\n const width =\n typeof cell?.width === 'number' ? `${cell.width}px` : cell.width;\n const align = cell.align || 'left';\n const position = cell.fixed ? 'sticky' : 'unset';\n const left = cell.fixed === 'left' ? 0 : 'unset';\n const right = cell.fixed === 'right' ? 0 : 'unset';\n return { width, textAlign: align, position, left, right };\n}\n\nconst Cell = (props: SheetType.CellProps) => {\n const {\n row,\n col,\n cell,\n cellRenderer: CellRenderer = DefaultCell,\n dataEditor,\n valueViewer,\n attributesRenderer,\n } = props;\n\n const eventBus = useSheetEvent();\n const [eventState, setEventState] = useSetState<{\n selected: boolean;\n selectedInfo?: {\n isStart?: boolean;\n isTop?: boolean;\n isBottom?: boolean;\n isLeft?: boolean;\n isRight?: boolean;\n };\n editing?: boolean;\n confirm?: boolean;\n }>();\n const { selected, selectedInfo, editing, confirm } = eventState;\n\n const [value, setValue] = useState(initialData(props));\n const valueRef = useRef<any>(value);\n\n useEffect(() => {\n const newValue = renderValue(cell);\n setValue(newValue);\n valueRef.current = newValue;\n }, [cell, row, col]);\n\n useEffect(() => {\n if (isNil(row) || isNil(col) || !eventBus) {\n return;\n }\n const onCellState = (eventInfo: EventInfo) => {\n if (eventInfo.value && eventInfo.editing) {\n setValue(eventInfo.value);\n }\n setEventState(eventInfo);\n };\n\n eventBus.on(`cell-${row}-${col}-change`, onCellState);\n eventBus.emit(`cell-create`, { row, col });\n return () => {\n eventBus.off(`cell-${row}-${col}-change`, onCellState);\n };\n }, [eventBus, row, col]);\n\n useEffect(() => {\n if (isNil(row) || isNil(col) || !eventBus) {\n return;\n }\n if (confirm) {\n setEventState({ confirm: false });\n if (value !== valueRef.current) {\n console.log('confirm omit');\n eventBus.emit('cell-change', { row, col: col, value });\n }\n }\n }, [confirm, eventBus, value]);\n\n const handleCommit = useCallback(\n (value: string) => {\n if (valueRef.current === value) {\n return;\n }\n setValue(value);\n console.log('handle omit');\n eventBus.emit('cell-change', { row, col: col, value, confirm: true });\n },\n [eventBus, valueRef],\n );\n\n const renderEditor = (\n cel: SheetType.Cell,\n r: number,\n col: number,\n editor: any,\n isEditing?: boolean,\n ) => {\n if (isEditing) {\n const Editor = cel.dataEditor || editor || DataEditor;\n return (\n <Editor\n cell={cel}\n row={r}\n col={col}\n value={value}\n onConfirm={handleCommit}\n onChange={setValue}\n />\n );\n }\n return null;\n };\n\n const renderViewer = (\n cel: SheetType.Cell,\n r: number,\n col: number,\n valViewer?: React.ElementType,\n ) => {\n const Viewer = cell.valueViewer || valViewer || ValueViewer;\n const val = renderValue(cell);\n\n return (\n <Viewer\n record={cell.record}\n cell={cell}\n row={row}\n col={col}\n value={val}\n />\n );\n };\n\n const content =\n (cell.editable ?? true) && editing\n ? renderEditor(cell, row, col, dataEditor, editing)\n : renderViewer(cell, row, col, valueViewer);\n\n const className = useMemo(\n () =>\n [\n cell.className,\n 'cell',\n selected && 'selected',\n selectedInfo?.isStart && 'selected-start',\n selectedInfo?.isBottom && 'selected-bottom',\n selectedInfo?.isTop && 'selected-top',\n selectedInfo?.isLeft && 'selected-left',\n selectedInfo?.isRight && 'selected-right',\n editing && 'editing',\n cell.readonly && 'read-only',\n ]\n .filter((a) => a)\n .join(' '),\n [editing, selected, selectedInfo, cell.className, cell.readonly],\n );\n\n return (\n <CellRenderer\n row={row}\n col={col}\n cell={cell}\n selected={eventState.selected}\n editing={eventState.editing}\n attributesRenderer={attributesRenderer}\n className={className}\n style={widthStyle(cell)}\n >\n {content}\n </CellRenderer>\n );\n};\n\nexport default memo(Cell, (pre, next) => {\n const shouldUpdate =\n pre.col === next.col &&\n pre.row === next.row &&\n pre.cell.value === next.cell.value &&\n pre.cell.record === next.cell.record;\n return shouldUpdate;\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","jsx","_jsx","DataEditor","_ref","value","onChange","inputRef","_inputRef$current","current","focus","handleChange","e","target","ref","className"],"sources":["../../../src/core/sheet/DataEditor.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { ChangeEvent, useEffect, useRef } from 'react';\n\nconst DataEditor: SheetType.CellEditor = ({ value, onChange }) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n inputRef.current?.focus();\n }, []);\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n ref={inputRef}\n className=\"data-editor\"\n value={value as string}\n onChange={handleChange}\n />\n );\n};\n\nexport default DataEditor;\n"],"mappings":"AACA,SAAsBA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvD,IAAMC,UAAgC,GAAG,SAAnCA,UAAgCA,CAAAC,IAAA,EAA4B;EAAA,IAAtBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACzD,IAAMC,QAAQ,GAAGP,MAAM,CAAmB,IAAI,CAAC;EAE/CD,SAAS,CAAC,YAAM;IAAA,IAAAS,iBAAA;IACd,CAAAA,iBAAA,GAAAD,QAAQ,CAACE,OAAO,cAAAD,iBAAA,uBAAhBA,iBAAA,CAAkBE,KAAK,CAAC,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAgC,EAAK;IACzDN,QAAQ,CAACM,CAAC,CAACC,MAAM,CAACR,KAAK,CAAC;EAC1B,CAAC;EAED,oBACEH,IAAA;IACEY,GAAG,EAAEP,QAAS;IACdQ,SAAS,EAAC,aAAa;IACvBV,KAAK,EAAEA,KAAgB;IACvBC,QAAQ,EAAEK;EAAa,CACxB,CAAC;AAEN,CAAC;AAED,eAAeR,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["classNames","jsx","_jsx","DefaultCell","props","cell","row","col","attributesRenderer","className","style","children","colSpan","rowSpan","attributes","_objectSpread","fixed","concat"],"sources":["../../../src/core/sheet/DefaultCell.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { classNames } from '../util';\n\nconst DefaultCell = (props: {\n cell: SheetType.Cell;\n row: number;\n col: number;\n attributesRenderer?: SheetType.AttributesRenderer;\n className: string;\n style: Record<string, string>;\n children: React.ReactElement;\n}) => {\n const { cell, row, col, attributesRenderer, className, style, children } =\n props;\n\n const { colSpan, rowSpan } = cell;\n const attributes = attributesRenderer\n ? attributesRenderer(cell, row, col)\n : {};\n\n return (\n <td\n data-row={row}\n data-col={col}\n className={classNames(\n className,\n cell.fixed && 'fixed',\n cell.fixed && `fixed-${cell.fixed}`,\n )}\n colSpan={colSpan}\n rowSpan={rowSpan}\n style={style}\n {...attributes}\n >\n {children}\n </td>\n );\n};\n\nexport default DefaultCell;\n"],"mappings":";;;;;;AACA,SAASA,UAAU;AAAkB,SAAAC,GAAA,IAAAC,IAAA;AAErC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAQpB,EAAK;EACJ,IAAQC,IAAI,GACVD,KAAK,CADCC,IAAI;IAAEC,GAAG,GACfF,KAAK,CADOE,GAAG;IAAEC,GAAG,GACpBH,KAAK,CADYG,GAAG;IAAEC,kBAAkB,GACxCJ,KAAK,CADiBI,kBAAkB;IAAEC,SAAS,GACnDL,KAAK,CADqCK,SAAS;IAAEC,KAAK,GAC1DN,KAAK,CADgDM,KAAK;IAAEC,QAAQ,GACpEP,KAAK,CADuDO,QAAQ;EAGtE,IAAQC,OAAO,GAAcP,IAAI,CAAzBO,OAAO;IAAEC,OAAO,GAAKR,IAAI,CAAhBQ,OAAO;EACxB,IAAMC,UAAU,GAAGN,kBAAkB,GACjCA,kBAAkB,CAACH,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC,GAClC,CAAC,CAAC;EAEN,oBACEL,IAAA,OAAAa,aAAA,CAAAA,aAAA;IACE,YAAUT,GAAI;IACd,YAAUC,GAAI;IACdE,SAAS,EAAET,UAAU,CACnBS,SAAS,EACTJ,IAAI,CAACW,KAAK,IAAI,OAAO,EACrBX,IAAI,CAACW,KAAK,aAAAC,MAAA,CAAaZ,IAAI,CAACW,KAAK,CACnC,CAAE;IACFJ,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBH,KAAK,EAAEA;EAAM,GACTI,UAAU;IAAAH,QAAA,EAEbA;EAAQ,EACP,CAAC;AAET,CAAC;AAED,eAAeR,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","groupConfigToGroupMap","jsx","_jsx","DefaultRow","_ref","_groupMap$get","_groupMap$get2","children","row","groupConfig","groupMap","get","isStart","isOpen","style","display"],"sources":["../../../src/core/sheet/DefaultRow.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { useMemo } from 'react';\nimport { groupConfigToGroupMap } from '../util';\n\nconst DefaultRow: React.FC<{\n children: React.ReactElement;\n\n row: number;\n groupConfig?: {\n groups: SheetType.RowGroup[];\n groupOpen: boolean[];\n };\n}> = ({ children, row, groupConfig }) => {\n const groupMap = useMemo(() => {\n // 分组逻辑\n return groupConfigToGroupMap(groupConfig);\n }, [groupConfig]);\n\n if (\n groupMap.get(row) &&\n !groupMap.get(row)?.isStart &&\n !groupMap.get(row)?.isOpen\n ) {\n return <tr style={{ display: 'none' }}>{children}</tr>;\n }\n\n return <tr>{children}</tr>;\n};\nexport default DefaultRow;\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,qBAAqB;AAAkB,SAAAC,GAAA,IAAAC,IAAA;AAEhD,IAAMC,UAQJ,GAAG,SARCA,UAQJA,CAAAC,IAAA,EAAuC;EAAA,IAAAC,aAAA,EAAAC,cAAA;EAAA,IAAjCC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;IAAEC,WAAW,GAAAL,IAAA,CAAXK,WAAW;EAChC,IAAMC,QAAQ,GAAGX,OAAO,CAAC,YAAM;IAC7B;IACA,OAAOC,qBAAqB,CAACS,WAAW,CAAC;EAC3C,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IACEC,QAAQ,CAACC,GAAG,CAACH,GAAG,CAAC,IACjB,GAAAH,aAAA,GAACK,QAAQ,CAACC,GAAG,CAACH,GAAG,CAAC,cAAAH,aAAA,eAAjBA,aAAA,CAAmBO,OAAO,KAC3B,GAAAN,cAAA,GAACI,QAAQ,CAACC,GAAG,CAACH,GAAG,CAAC,cAAAF,cAAA,eAAjBA,cAAA,CAAmBO,MAAM,GAC1B;IACA,oBAAOX,IAAA;MAAIY,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO,CAAE;MAAAR,QAAA,EAAEA;IAAQ,CAAK,CAAC;EACxD;EAEA,oBAAOL,IAAA;IAAAK,QAAA,EAAKA;EAAQ,CAAK,CAAC;AAC5B,CAAC;AACD,eAAeJ,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","Cell","jsx","_jsx","DefaultRowMapper","_ref","rowData","row","cls","map","cell","col"],"sources":["../../../src/core/sheet/DefaultRowMapper.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\nimport { memo } from 'react';\nimport Cell from './Cell';\n\ninterface DefaultRowMapperProps {\n rowData: SheetType.Cell[];\n row: number;\n}\n\nexport const DefaultRowMapper: React.FC<DefaultRowMapperProps> = memo(\n ({ rowData, row }) => {\n const cls = rowData.map((cell, col) => {\n return <Cell key={col} row={row} col={col} cell={cell} />;\n });\n\n return cls;\n },\n);\n"],"mappings":"AACA,SAASA,IAAI,QAAQ,OAAO;AAC5B,OAAOC,IAAI;AAAe,SAAAC,GAAA,IAAAC,IAAA;AAO1B,OAAO,IAAMC,gBAAiD,gBAAGJ,IAAI,CACnE,UAAAK,IAAA,EAAsB;EAAA,IAAnBC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;EACb,IAAMC,GAAG,GAAGF,OAAO,CAACG,GAAG,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;IACrC,oBAAOR,IAAA,CAACF,IAAI;MAAWM,GAAG,EAAEA,GAAI;MAACI,GAAG,EAAEA,GAAI;MAACD,IAAI,EAAEA;IAAK,GAApCC,GAAsC,CAAC;EAC3D,CAAC,CAAC;EAEF,OAAOH,GAAG;AACZ,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DefaultShell","_ref","children","className","_jsx"],"sources":["../../../src/core/sheet/DefaultShell.tsx"],"sourcesContent":["interface IShell {\n children: React.ReactElement;\n data?: unknown;\n className?: string;\n}\n\nconst DefaultShell: React.FC<IShell> = ({ children, className }) => (\n <table className={className}>\n <tbody>{children}</tbody>\n </table>\n);\n\nexport default DefaultShell;\n"],"mappings":";AAMA,IAAMA,YAA8B,GAAG,SAAjCA,YAA8BA,CAAAC,IAAA;EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;EAAA,oBAC3DC,IAAA;IAAOD,SAAS,EAAEA,SAAU;IAAAD,QAAA,eAC1BE,IAAA;MAAAF,QAAA,EAAQA;IAAQ,CAAQ;EAAC,CACpB,CAAC;AAAA,CACT;AAED,eAAeF,YAAY"}
|
package/dist/core/sheet/Event.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSheetEvent","useEffect","SheetEvent","_ref","handler","name","eventBus","on","off"],"sources":["../../../src/core/sheet/Event.tsx"],"sourcesContent":["import { useSheetEvent } from '@zhenliang/sheet/hooks';\nimport { FC, useEffect } from 'react';\n\nexport const SheetEvent: FC<{\n handler?: (value: unknown) => void;\n name: string;\n}> = ({ handler, name }) => {\n const eventBus = useSheetEvent();\n\n useEffect(() => {\n if (!eventBus || !handler) {\n return;\n }\n eventBus.on(name, handler);\n return () => {\n eventBus.off(name, handler);\n };\n }, [eventBus, handler, name]);\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAAaC,SAAS,QAAQ,OAAO;AAErC,OAAO,IAAMC,UAGX,GAAG,SAHQA,UAGXA,CAAAC,IAAA,EAA0B;EAAA,IAApBC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;EACnB,IAAMC,QAAQ,GAAGN,aAAa,CAAC,CAAC;EAEhCC,SAAS,CAAC,YAAM;IACd,IAAI,CAACK,QAAQ,IAAI,CAACF,OAAO,EAAE;MACzB;IACF;IACAE,QAAQ,CAACC,EAAE,CAACF,IAAI,EAAED,OAAO,CAAC;IAC1B,OAAO,YAAM;MACXE,QAAQ,CAACE,GAAG,CAACH,IAAI,EAAED,OAAO,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACE,QAAQ,EAAEF,OAAO,EAAEC,IAAI,CAAC,CAAC;EAE7B,OAAO,IAAI;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueViewer","_ref","value","_jsx","className","children"],"sources":["../../../src/core/sheet/ValueViewer.tsx"],"sourcesContent":["import type { SheetType } from '@zhenliang/sheet/type';\n\nconst ValueViewer: SheetType.CellViewer = ({ value }) => (\n <span className=\"value-viewer\">{value as string}</span>\n);\nexport default ValueViewer;\n"],"mappings":";AAEA,IAAMA,WAAiC,GAAG,SAApCA,WAAiCA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAChDC,IAAA;IAAMC,SAAS,EAAC,cAAc;IAAAC,QAAA,EAAEH;EAAK,CAAiB,CAAC;AAAA,CACxD;AACD,eAAeF,WAAW"}
|