JSFiddle - React, Tailwind, and code Playground
by karlovac
HTML
<body>
<ol></ol>
</body>
JavaScript
function getAttributeIdAliasMap(product_id, workflow, callback) {
var
results = {},
url = "https://d49zl0bzgyeet.cloudfront.net/prod/" + workflow + "/customers/c1475/configureHtml/products/p_" + product_id + "/configureHtmlProductData.js",
extendAttributeMap = function (k, v) {
v = v || {};
if (v.alias) {
results[v.alias] = k;
}
if (v.subAttributes) {
$.each(v.subAttributes, function (kk, vv) {
extendAttributeMap(k + "." + kk, vv);
});
}
};
$.ajax({
url: url,
dataType: "jsonp",
jsonpCallback: "configure_c1475_p_" + product_id + "_jsonp_callback",
success: function (data) {
try {
$.each(data.attributes, extendAttributeMap);
callback(null, results);
} catch (e) {
callback(new Error("Could not map attribute ID's to their alias using getAttributeIdAliasMap. Got error: " + e.message));
}
},
error: function (err) {
callback(new Error("Could not download product attributes for"))
}
});
}
getAttributeIdAliasMap(20147, "qa", function (err, attribute_map) {
if (err) {
throw err;
}
console.log(attribute_map);
$.each(attribute_map, function (alias, attribute_key) {
$('ol').append($("<li><b>" + alias +"</b>: <em>" + attribute_key + "</em></li>"));
});
});