Fix scripts not running in widgets

This commit is contained in:
2022-08-26 07:20:30 +01:00
parent 95f00eface
commit 996463b869
3 changed files with 30 additions and 23 deletions

View File

@@ -1,7 +1,10 @@
{% load static %}
<script>
grid.removeWidget("drilldown-widget-results");
if (typeof grid != "undefined") {
grid.removeWidget("drilldown-widget-results");
}
</script>
<div id="drilldown-widget" style="display: none;">
<div id="drilldown-widget-results" class="grid-stack-item" gs-w="10" gs-h="30" gs-y="10" gs-x="1">
<div class="grid-stack-item-content">
@@ -53,15 +56,17 @@
</div>
</div>
<script>
console.log("RUNS");
//var contents = $("#drilldown-widget").outerHTML;
var contents = document.getElementById("drilldown-widget");
var grid = document.getElementById("grid-stack-main").gridstack;
grid.addWidget(contents.innerHTML);
contents.outerHTML = "";
// grid.compact();
// because we remove the element the JS runs in
// so we need to run it again here
// initTabs("{{ unique }}");
</script>
if (typeof grid != "undefined") {
//var contents = $("#drilldown-widget").outerHTML;
var contents = document.getElementById("drilldown-widget");
var scripts = contents.getElementsByTagName("script");
var grid = document.getElementById("grid-stack-main").gridstack;
grid.addWidget(contents.innerHTML);
contents.outerHTML = "";
// restore scripts that aren't going to be run
for (var i = 0; i < scripts.length; i++) {
eval(scripts[i].innerHTML);
}
}
</script>