merchi_product_editor
Version:
A React component for editing product images using Fabric.js
40 lines (39 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setNewDraftPreviews = void 0;
/**
* Gets all unique draft previews from the draft templates
* Loops through each template's draftPreviewLayers to collect associated previews
*
* @param draftTemplates Array of draft templates with their variation data
* @returns Array of unique draft previews
*/
function setNewDraftPreviews(draftTemplates) {
// Create a map to track which previews we've already included by ID
var includedPreviewIds = new Set();
var draftPreviews = [];
// Loop through each draft template
draftTemplates.forEach(function (draftTemplateData) {
var template = draftTemplateData.template;
// Skip if the template doesn't have preview layers
if (!template.draftPreviewLayers || template.draftPreviewLayers.length === 0) {
return;
}
// Look through each preview layer to find associated previews
template.draftPreviewLayers.forEach(function (layer) {
// If the layer has a preview and we haven't already included it
if (layer.draftPreview && layer.draftPreview.id) {
var previewId = layer.draftPreview.id;
if (!includedPreviewIds.has(previewId)) {
// Add to our tracking set
includedPreviewIds.add(previewId);
// Add the preview to our result array
draftPreviews.push(layer.draftPreview);
}
}
});
});
// Return the unique list of previews
return draftPreviews;
}
exports.setNewDraftPreviews = setNewDraftPreviews;