devtools: dots-viewer: Add a button to download the SVG file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8696>
This commit is contained in:
parent
a1876eee74
commit
fdcd0ddca0
@ -48,6 +48,10 @@ furnished to do so, subject to the following conditions:
|
|||||||
Click node to highlight<br/>Shift-Ctrl-scroll or w/s to zoom<br/>Esc to unhighlight
|
Click node to highlight<br/>Shift-Ctrl-scroll or w/s to zoom<br/>Esc to unhighlight
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="floating-rectangle" id="actions" style="top: auto; bottom: 100px; left: 10px;">
|
||||||
|
<button id="save-svg" class="btn btn-primary btn-sm" style="margin-right: 5px;">Save SVG</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
|
||||||
@ -82,11 +86,25 @@ furnished to do so, subject to the following conditions:
|
|||||||
} else if (evt.key == "s") {
|
} else if (evt.key == "s") {
|
||||||
gv.scaleInView((gv.zoom.percentage - 100) || 100);
|
gv.scaleInView((gv.zoom.percentage - 100) || 100);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
|
$("#save-svg").click(function() {
|
||||||
|
const svgElement = $("#graph svg")[0];
|
||||||
|
const svgData = new XMLSerializer().serializeToString(svgElement);
|
||||||
|
const blob = new Blob([svgData], {type: "image/svg+xml;charset=utf-8"});
|
||||||
|
const url = URL.createObjectURL(blob);
|
||||||
|
const title = document.getElementById("title").textContent.trim();
|
||||||
|
const downloadLink = document.createElement("a");
|
||||||
|
downloadLink.href = url;
|
||||||
|
downloadLink.download = title + ".svg";
|
||||||
|
document.body.appendChild(downloadLink);
|
||||||
|
downloadLink.click();
|
||||||
|
document.body.removeChild(downloadLink);
|
||||||
|
URL.revokeObjectURL(url);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user