mirror of
https://github.com/apache/superset.git
synced 2026-05-12 03:15:55 +00:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
const srcdoc = require('srcdoc-polyfill');
|
|
|
|
require('./markup.css');
|
|
|
|
function markupWidget(slice, payload) {
|
|
$('#code').attr('rows', '15');
|
|
const jqdiv = slice.container;
|
|
jqdiv.css({
|
|
overflow: 'auto',
|
|
});
|
|
|
|
// markup height is slice height - (marginTop + marginBottom)
|
|
let iframeHeight = slice.height() - 20;
|
|
if (slice.props.vizType === 'separator') {
|
|
// separator height is the entire chart container: slice height + header
|
|
iframeHeight = slice.height() + slice.headerHeight();
|
|
}
|
|
|
|
const iframeId = `if__${slice.containerId}`;
|
|
const html = `
|
|
<html>
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="${payload.data.theme_css}" />
|
|
</head>
|
|
<body style="background-color: transparent;">
|
|
${payload.data.html}
|
|
</body>
|
|
</html>`;
|
|
jqdiv.html(`
|
|
<iframe id="${iframeId}"
|
|
frameborder="0"
|
|
height="${iframeHeight}"
|
|
sandbox="allow-same-origin allow-scripts allow-top-navigation allow-popups">
|
|
</iframe>
|
|
`);
|
|
|
|
const iframe = document.getElementById(iframeId);
|
|
srcdoc.set(iframe, html);
|
|
}
|
|
|
|
module.exports = markupWidget;
|