mirror of
https://github.com/apache/superset.git
synced 2026-06-01 05:39:17 +00:00
* Using JS to customize spatial viz and tooltips * Add missing deck_multi.png * Improve GeoJSON layer with JS support and extra controls * Addressing comments
34 lines
741 B
JavaScript
34 lines
741 B
JavaScript
import dompurify from 'dompurify';
|
|
import sandboxedEval from '../../../javascripts/modules/sandbox';
|
|
|
|
export function commonLayerProps(formData, slice) {
|
|
const fd = formData;
|
|
let onHover;
|
|
if (fd.js_tooltip) {
|
|
const jsTooltip = sandboxedEval(fd.js_tooltip);
|
|
onHover = (o) => {
|
|
if (o.picked) {
|
|
slice.setTooltip({
|
|
content: dompurify.sanitize(jsTooltip(o)),
|
|
x: o.x,
|
|
y: o.y,
|
|
});
|
|
} else {
|
|
slice.setTooltip(null);
|
|
}
|
|
};
|
|
}
|
|
let onClick;
|
|
if (fd.js_onclick_href) {
|
|
onClick = (o) => {
|
|
const href = sandboxedEval(fd.js_onclick_href)(o);
|
|
window.open(href);
|
|
};
|
|
}
|
|
return {
|
|
onClick,
|
|
onHover,
|
|
pickable: Boolean(onHover),
|
|
};
|
|
}
|