12 Pink Roses

595.00

12 Pink Roses

function triggerFpdNativeUpload(fileObj, slotIndex) { $('#fpd-stage-skeleton').css('display', 'flex'); createHighResPreviewFile(fileObj, 3200, function(crispFile) { var fpdInstance = typeof fancyProductDesigner !== 'undefined' ? fancyProductDesigner : null; if (fpdInstance && fpdInstance.currentViewInstance) { var stageCanvas = fpdInstance.currentViewInstance; var elements = stageCanvas.elements || []; // Filter elements that are designated as Upload Zones or Image Placeholders var uploadZoneElements = elements.filter(function(el) { return el.type === 'image' && (el.uploadZone || el.isUploadZone || el.replaceable); }); // Fallback: If uploadZone flag isn't explicitly set on elements array, take all non-background images if (uploadZoneElements.length === 0) { uploadZoneElements = elements.filter(function(el, idx) { return el.type === 'image' && idx > 0; }); } var targetElement = uploadZoneElements[slotIndex]; if (targetElement) { var reader = new FileReader(); reader.onload = function(e) { var dataUrl = e.target.result; // Use FPD's native element replacement method to lock to exact bounding box if (typeof stageCanvas.replaceImage === 'function') { stageCanvas.replaceImage(targetElement, dataUrl); } else if (targetElement.setSrc) { targetElement.setSrc(dataUrl, function() { if (stageCanvas.canvas) stageCanvas.canvas.renderAll(); }); } setTimeout(function() { $('#fpd-stage-skeleton').fadeOut(200); }, 300); }; reader.readAsDataURL(crispFile); return; } } // Safety fallback if no elements found $('#fpd-stage-skeleton').fadeOut(200); }); }