WIthout configId:
function getProductConfig() {
var result = [];
var product = CPB.getStore().getState().Product;
var changes = product.userChanges;
var panels = Object.keys(changes);
panels.forEach(function(panelId) {
var title = '';
product.panels.forEach(function(panel) {
if(panel.id === panelId) title = panel.title;
});
var panel = {
title: title,
categories: []
}
var categories = Object.keys(changes[panelId]);
categories.forEach(function(categoryId) {
var catLayer = changes[panelId][categoryId].layer;
var selectedOption = catLayer.option;
var catObj = catLayer.categoryObj;
var category = {
title: catObj.title,
options: []
}
catObj.options.forEach(function(option) {
if(option.id === selectedOption) {
var title = catObj.type === 'input' ? catLayer.value : option.option.data.label;
category.options.push({
title: title,
sku: option.sku
});
}
});
panel.categories.push(category);
});
result.push(panel);
});
return result;
}
With configId (async):
function getProductConfig(callback) {
_cpb.saveConfig(function(res) {
var result = [];
var product = CPB.getStore().getState().Product;
var changes = product.userChanges;
var panels = Object.keys(changes);
panels.forEach(function(panelId) {
var title = '';
product.panels.forEach(function(panel) {
if(panel.id === panelId) title = panel.title;
});
var panel = {
title: title,
categories: []
}
var categories = Object.keys(changes[panelId]);
categories.forEach(function(categoryId) {
var catLayer = changes[panelId][categoryId].layer;
var selectedOption = catLayer.option;
var catObj = catLayer.categoryObj;
var category = {
title: catObj.title,
options: []
}
catObj.options.forEach(function(option) {
if(option.id === selectedOption) {
var title = catObj.type === 'input' ? catLayer.value : option.option.data.label;
category.options.push({
title: title,
sku: option.sku
});
}
});
panel.categories.push(category);
});
result.push(panel);
});
callback({configId: res, panels: result});
});
}
Images:
function getViewImageURL(size, view) {
if (typeof window.cpbImageStorage === 'undefined') return;
view = view || 'front';
size = size || 1000;
var convaSize = $('.konvajs-content').width() || size;
var newRatio = size / convaSize;
var getDataURL = cpbImageStorage.views[view].getSnapshot(newRatio);
return getDataURL;
}
var front = getViewImageURL(1000, 'front');
var back = getViewImageURL(1000, 'back') ;
Comments
0 comments
Please sign in to leave a comment.