1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import React from 'react';
- import AnnotationSelector from '../AnnotationSelector';
- import Markup from '../Markup';
- import { rectCalc } from '../../helpers/position';
- import { Popper } from './styled';
- const Highlight: React.SFC<AnnotationElementPropsType> = ({
- obj_type,
- obj_attr: { page, position, bdcolor, transparency },
- isCovered,
- mousePosition,
- isCollapse,
- onUpdate,
- onDelete,
- scale,
- viewport,
- }: AnnotationElementPropsType) => (
- <>
- {Array.isArray(position) &&
- position.map((ele: any, index: number) => {
- const annotRect = rectCalc(ele, viewport.height, scale);
- return (
- <Markup
- key={`block_${page + index}`}
- position={{
- top: `${annotRect.top.toFixed(2)}px`,
- left: `${annotRect.left.toFixed(2)}px`,
- width: `${annotRect.width.toFixed(2)}px`,
- height: `${annotRect.height.toFixed(2)}px`,
- }}
- bdcolor={bdcolor || ''}
- opacity={transparency || 0}
- markupType={obj_type}
- isCovered={isCovered}
- />
- );
- })}
- {!isCollapse ? (
- <Popper position={mousePosition}>
- <AnnotationSelector
- onUpdate={onUpdate}
- onDelete={onDelete}
- colorProps={bdcolor}
- opacityProps={transparency ? transparency * 100 : 0}
- />
- </Popper>
- ) : (
- ''
- )}
- </>
- );
- export default Highlight;
|