(function () { function init() { // Init fiddles mapping. var data = {}; document .querySelectorAll('[data-fiddlestick-id]') .forEach(function(e) { var fiddleId = e.getAttribute('data-fiddlestick-id'); var fiddleType = e.getAttribute('data-fiddlestick-type'); if (!data.hasOwnProperty(fiddleId)) { data[fiddleId] = {}; } if (!data[fiddleId].hasOwnProperty(fiddleType)) { data[fiddleId][fiddleType] = []; } if (fiddleType === 'render') { data[fiddleId].render = { 'element': e, 'type': fiddleType, 'id': fiddleId, }; } else { data[fiddleId][fiddleType].push({ 'element': e, 'type': fiddleType, 'id': fiddleId, }); e.addEventListener('keyup', function (event) { var fiddle = event.target || event.srcElement; update(data[fiddle.getAttribute('data-fiddlestick-id')]); }); e.addEventListener('change', function (event) { var fiddle = event.target || event.srcElement; update(data[fiddle.getAttribute('data-fiddlestick-id')]); }); } }); for(var fiddleId in data) { if (data.hasOwnProperty(fiddleId)) { update(data[fiddleId]); } } } function update(fiddle) { var iframe = document.createElement('iframe'); var output = fiddle.render.element; output.innerHTML = ''; output.appendChild(iframe); var cssCode = getAllFromLang(fiddle.css); var jsCode = getAllFromLang(fiddle.js); var htmlCode = getAllFromLang(fiddle.html); var layout = '