function initCharts()

in ArticleTemplates/assets/js/bootstraps/atoms.js [23:59]


function initCharts() {
    var iframes = Array.prototype.slice.call(document.querySelectorAll('.atom--chart > .atom__iframe'));
    window.addEventListener('message', function (event) {
        var message;
        var iframe = iframes.reduce(function (winner, candidate) {
            if (winner) {
                return winner;
            }

            try {
                return candidate.name === event.source.name ? candidate : null;
            } catch (e) {
                return null;
            }
        }, null);
        if (iframe) {
            try {
                message = JSON.parse(event.data);
                switch (message.type) {
                case 'set-height':
                    iframe.height = message.value;
                    break;
                default:
                }
                // eslint-disable-next-line no-empty
            } catch (e) {}
        }
    });

    iframes.forEach(function (iframe) {
        const src = (iframe.getAttribute('srcdoc') || '')
            .replace(/<gu-script>/g, '<script>')
            // eslint-disable-next-line no-useless-concat
            .replace(/<\/gu-script>/g, '<' + '/script>');
        iframe.setAttribute('srcdoc', src);
    });
}