pixel-react-excel-sheet 1.0.33 → 1.0.34
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/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.d.ts +4 -0
- package/lib/index.esm.js +25 -9
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +25 -9
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.scss +1 -1
- package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.tsx +3 -2
- package/src/components/Excel/ExcelFile/ExcelFile.tsx +17 -5
package/package.json
CHANGED
|
@@ -5,13 +5,14 @@ import { ContextMenuState } from '../ExcelFile/ExcelFileComponents/types';
|
|
|
5
5
|
|
|
6
6
|
type ExcelContextMenuProps = {
|
|
7
7
|
contextMenu: ContextMenuState;
|
|
8
|
+
position:{ x: number; y: number }
|
|
8
9
|
};
|
|
9
10
|
|
|
10
|
-
const ExcelContextMenu: React.FC<ExcelContextMenuProps> = ({ contextMenu
|
|
11
|
+
const ExcelContextMenu: React.FC<ExcelContextMenuProps> = ({ contextMenu,position}) => {
|
|
11
12
|
return (
|
|
12
13
|
<div
|
|
13
14
|
className="ff-excel-menu"
|
|
14
|
-
style={{ left:
|
|
15
|
+
style={{ left:position.x, top:position.y }}
|
|
15
16
|
>
|
|
16
17
|
{contextMenu.options.map((option) => (
|
|
17
18
|
<div
|
|
@@ -84,6 +84,11 @@ const ExcelFile: React.FC<ExcelFileProps> = ({
|
|
|
84
84
|
Matrix.Matrix<CellBase>
|
|
85
85
|
>([[EmptyRow]]);
|
|
86
86
|
|
|
87
|
+
const [position, setPosition] = useState<{ x: number; y: number }>({
|
|
88
|
+
x: 0,
|
|
89
|
+
y: 0,
|
|
90
|
+
});
|
|
91
|
+
|
|
87
92
|
const pageRef = useRef<string>('');
|
|
88
93
|
const sheetRef = useRef<HTMLDivElement | null>(null);
|
|
89
94
|
|
|
@@ -427,11 +432,13 @@ const ExcelFile: React.FC<ExcelFileProps> = ({
|
|
|
427
432
|
}
|
|
428
433
|
});
|
|
429
434
|
|
|
435
|
+
setPosition({ x: event.clientX - 350, y: event.clientY });
|
|
436
|
+
|
|
430
437
|
setContextMenu({
|
|
431
438
|
open: true,
|
|
432
439
|
position: {
|
|
433
|
-
x: event.
|
|
434
|
-
y: event.
|
|
440
|
+
x: event.clientX - 350,
|
|
441
|
+
y: event.clientY-500,
|
|
435
442
|
},
|
|
436
443
|
options: options,
|
|
437
444
|
});
|
|
@@ -440,8 +447,13 @@ const ExcelFile: React.FC<ExcelFileProps> = ({
|
|
|
440
447
|
return (
|
|
441
448
|
<>
|
|
442
449
|
{sheetNames.length > 0 && (
|
|
443
|
-
<div
|
|
444
|
-
|
|
450
|
+
<div
|
|
451
|
+
ref={sheetRef}
|
|
452
|
+
onContextMenu={(event)=>{ setPosition({ x: event.clientX - 350, y: event.clientY });
|
|
453
|
+
}}
|
|
454
|
+
style={{ position: 'relative' }}
|
|
455
|
+
>
|
|
456
|
+
<div className="ff-excel-sheet">
|
|
445
457
|
<Spreadsheet
|
|
446
458
|
sheetHeight={sheetHeight}
|
|
447
459
|
setContextMenu={setContextMenu}
|
|
@@ -501,7 +513,7 @@ const ExcelFile: React.FC<ExcelFileProps> = ({
|
|
|
501
513
|
))}
|
|
502
514
|
</div>
|
|
503
515
|
</div>
|
|
504
|
-
{contextMenu.open && <ExcelContextMenu contextMenu={contextMenu} />}
|
|
516
|
+
{contextMenu.open && <ExcelContextMenu contextMenu={contextMenu} position={position}/>}
|
|
505
517
|
<Toastify />
|
|
506
518
|
</div>
|
|
507
519
|
)}
|