diff --git a/webgui/scripts/codecompass/view/diagram.js b/webgui/scripts/codecompass/view/diagram.js index 6389aa56d..585178b48 100644 --- a/webgui/scripts/codecompass/view/diagram.js +++ b/webgui/scripts/codecompass/view/diagram.js @@ -293,4 +293,24 @@ function (declare, attr, dom, query, topic, BorderContainer, ContentPane, priority : 30, center : 'diagram' }); + + var downloadImageButton = new Button({ + label : 'Download image', + render : function () { return this; }, + onClick : function () { + var element = document.createElement('a'); + element.setAttribute('href', + 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(diagram._svg)); + element.setAttribute('download', 'diagram.svg'); + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + } + }); + + viewHandler.registerModule(downloadImageButton, { + type : viewHandler.moduleType.ContextButton, + priority : 40, + center : 'diagram' + }); });