react-image-annotation icon indicating copy to clipboard operation
react-image-annotation copied to clipboard

I can't render custom editor

Open oznmrt opened this issue 3 years ago • 1 comments

Hi Everyone,

I want to render custom editor like select option but nothing show up, i am sharing my code below. Am i missing something ?

Please help :)

` import { Button } from 'bootstrap'; import React, { useState } from 'react'; import { Col, FormControl, InputGroup, Row } from 'react-bootstrap'; import Annotation from 'react-image-annotation'

const AnnotationDemo = (props) => {

const [annotation, setAnnotation] = useState({});
const [annotations, setAnnotations] = useState([]);

const onChange = (annotation) => {
    setAnnotation(annotation)
}

const onSubmit = (annotation) => {
    debugger;
    const { geometry, data } = annotation
    setAnnotation({})
    var anData = annotations.concat({
        geometry,
        data: {
            ...data,
            id: Math.random()
        }
    })
    setAnnotations(anData)
}

const TestEditor = (props) => {
    debugger;
    return (
        <Button variant="outline-secondary" id="button-addon1" style={{
            position: "absolute",
            left: annotation.geometry.x + '%',
            top: annotation.geometry.y + annotation.geometry.height + '%'
        }}>
            Button
        </Button>
    )
}

return (
    <Row>
        <Col md={6} >
            <Annotation
                src={"https://placekitten.com/408/287"}
                alt='Two pebbles anthropomorphized holding hands'
                disableEditor
                annotations={annotations}
                renderEditor={props => <TestEditor {...props} />}
                value={annotation}
                onChange={onChange}
                onSubmit={onSubmit}
            />
        </Col>
    </Row>
);

}

export default AnnotationDemo; `

oznmrt avatar Mar 18 '22 14:03 oznmrt

Change the function to:

const TestEditor = ({annotation}) => {
    return (
        <Button variant="outline-secondary" id="button-addon1" style={{
            position: "absolute",
            left: annotation.geometry.x + '%',
            top: annotation.geometry.y + annotation.geometry.height + '%'
        }}>
            Button
        </Button>
    )
}
<Annotation
                src={"https://placekitten.com/408/287"}
                alt='Two pebbles anthropomorphized holding hands'
                annotations={annotations}
                renderEditor={props => <TestEditor {...props} />}
                value={annotation}
                onChange={onChange}
                onSubmit={onSubmit} />

tofiqquadri avatar Mar 07 '23 12:03 tofiqquadri