Search code examples
javascripthtmlkonva

KonvaJS - How to add shape with button trigger?


Sorry for bad grammar-

i have a problem about how to add shape with button trigger. but isn't working

here my code : HTML

<button id="btnCreateRectangle" class="btn-primary-blue">Button Text</button>

And here my js :


        function addRectangle(layer) {
            var scale = 1;

            var rectangle = new Konva.Rect({
                x: 12,
                y: 12,
                numPoints: 5,
                innerRadius: 30,
                outerRadius: 50,
                fill: "#89b717",
                opacity: 0.8,
                draggable: true,
                name: 'rect',
                width: 128,
                height: 50,
                scale: {
                    x: scale,
                    y: scale
                },
                shadowColor: "black",
                shadowBlur: 4,
                shadowOffset: {
                    x: 5,
                    y: 5
                },
                shadowOpacity: 0.6,
                // custom attribute
                startScale: scale
            });

            layer.add(rectangle);
        }
document
            .getElementById('btnCreateRectangle')
            .addEventListener('click', function () {
                addRectangle(layer)
            });

Im very pretty new in javasrcipt language , any suggest or answer will be appreciate

thanks


Solution

  • from the documentation of KonvaJS after adding the rect to layer, you should add that layer to stage https://konvajs.org/docs/overview.html

    stage.add(layer);