Something like this isn’t supported because you are asking to change the behaviour of the actual dashboard designer. But… Dundas BI allows you to apply any JavaScript that you’d like so you can override the behavour.
PLEASE NOTE : THIS CODE IS BEING PROVIDED as-is and should give you some idea of how to approach this.
To get your desired effect, you would have to override canvas.onDrop and mark .originalEvent.preventDefault as true when a user script has detected a sub-canvas is already present. The current functionality will bandon the drop when e.defaultPrevented==true or e.originalEvent.defaultPrevented == true
For example, in the ready action:
var canvasService = this.getService(“CanvasService”)
var canvas =canvasService.canvas;
//save a reference of the original onDrop function call
var origOnDrop = canvas.onDrop.bind(canvas)
//override the onDrop call with a new functionality that would abandon the drop action when a flag indicating an existing embedded dashboard is true
canvas.onDrop = function(callback, e) {
if (!!embeddedDashboardAlreadyExists && !callback ) {
e.originalEvent.preventDefault();
e.preventDefault();
}
//call the original onDrop
origOnDrop(callback, e)
}
No promises on this one but hopefully this will at least give you something to try.