(function($) { $.fn.annotatorPNG = function(options) { var settings = $.extend({ heightCanvas: "600px", widthCanvas: "800px", }, options); var flagToolbox = "annotator-png-toolbox"; var flagContainer = "annotator-png-container"; var flagContainerAnnotation = "annotator-png-container-annotation"; var flagUploadImage = "annotator-png-upload-image"; var flagAddArrow = "annotator-png-add-arrow"; var flagAddTextbox = "annotator-png-add-textbox"; var flagAddSymbol = "annotator-png-add-symbol"; var flagColourPicker = "annotator-png-colour-picker"; var flagEraseMode = "annotator-png-erase-mode"; var flagSaveImage = "annotator-png-save-image"; var flagCanvasAnnotation = "annotator-png-canvas-annotation"; var keyFabric = "fabric"; var keyIsEraseMode = "isEraseMode"; function getCanvas() { let $annotatorPNG = $(document).find("." + flagAnnotatorPNG); let $canvasAnnotation = $annotatorPNG.find("canvas." + flagCanvasAnnotation); let canvas = $canvasAnnotation.data(keyFabric); console.log("canvas: ", canvas); return canvas; } function deleteSelectedObjects() { let canvas = getCanvas(); const activeObject = canvas.getActiveObject(); if (activeObject) { console.log("active object type:", activeObject.type); if (activeObject.type === 'activeSelection') { // If it's a multi-selection, remove all selected objects activeObject.forEachObject(function(obj) { canvas.remove(obj); }); canvas.discardActiveObject(); } else { // If it's a single object, just remove it canvas.remove(activeObject); } canvas.requestRenderAll(); } } return this.each(function() { var $annotatorPNG = $(this); $annotatorPNG.data(keyIsEraseMode, false); const symbols = ['Orange Arrow.png']; // Make elements var $toolbox = $('
'); var $inputUploadImage = $(''); $toolbox.append($inputUploadImage); var $buttonAddArrow = $(''); $toolbox.append($buttonAddArrow); var $buttonAddTextbox = $(''); $toolbox.append($buttonAddTextbox); var $selectAddSymbol = $(''); $selectAddSymbol.append($("