I use 3 nodes to do this trick.
FYI
script in template node:
<
script
>
(function(scope) {
scope.$watch('msg', function(msg) {
if (msg.payload === 'close') {
window.close();
}
});
})(scope);
</
script
>
raw flow source:
--
[{"id":"3ee86b68.3e4214","type":"ui_button","z":"d4db6128.68b55","name":"","group":"54b54612.4b5058","order":0,"width":0,"height":0,"passthru":false,"label":"close","color":"","bgcolor":"","icon":"","payload":"close","payloadType":"str","topic":"","x":390,"y":80,"wires":[["d5a441ec.84b5"]]},{"id":"d5a441ec.84b5","type":"ui_template","z":"d4db6128.68b55","group":"54b54612.4b5058","name":"","order":0,"width":0,"height":0,"format":"<script>\n(function(scope) {\n scope.$watch('msg', function(msg) {\n if (msg.payload === 'close') {\n window.close();\n }\n });\n})(scope);\n</script>","storeOutMessages":false,"fwdInMessages":false,"x":550,"y":80,"wires":[[]]},{"id":"eec33938.157738","type":"ui_ui_control","z":"d4db6128.68b55","name":"ui control","x":380,"y":40,"wires":[["d5a441ec.84b5"]]},{"id":"54b54612.4b5058","type":"ui_group","name":"Group 1","tab":"4a83afb9.5089e","order":1,"disp":true,"width":6},{"id":"4a83afb9.5089e","type":"ui_tab","name":"Tab 1","icon":"dashboard","order":1}]