@@ -69,7 +69,7 @@ export class Service implements IService {
6969 /**
7070 * A list of components that this service can embed
7171 */
72- private static components : ( typeof Report | typeof Tile | typeof Dashboard ) [ ] = [
72+ private static components : ( typeof Report | typeof Tile | typeof Dashboard ) [ ] = [
7373 Tile ,
7474 Report ,
7575 Dashboard
@@ -170,7 +170,7 @@ export class Service implements IService {
170170 let powerBiElement = < IPowerBiElement > element ;
171171 const component = new Create ( this , powerBiElement , config ) ;
172172 powerBiElement . powerBiEmbed = component ;
173-
173+
174174 this . addOrOverwriteEmbed ( component , element ) ;
175175
176176 return component ;
@@ -266,11 +266,11 @@ export class Service implements IService {
266266 /**
267267 * When loading report after create we want to use existing Iframe to optimize load period
268268 */
269- if ( config . type === "report" && component . config . type === "create" ) {
269+ if ( config . type === "report" && component . config . type === "create" ) {
270270 const report = new Report ( this , element , config , element . powerBiEmbed . iframe ) ;
271271 report . load ( < embed . IInternalEmbedConfiguration > config ) ;
272272 element . powerBiEmbed = report ;
273-
273+
274274 this . addOrOverwriteEmbed ( component , element ) ;
275275
276276 return report ;
@@ -323,7 +323,7 @@ export class Service implements IService {
323323
324324 addOrOverwriteEmbed ( component : embed . Embed , element : HTMLElement ) : void {
325325 // remove embeds over the same div element.
326- this . embeds = this . embeds . filter ( function ( embed ) {
326+ this . embeds = this . embeds . filter ( function ( embed ) {
327327 return embed . element . id !== element . id ;
328328 } ) ;
329329
@@ -350,7 +350,12 @@ export class Service implements IService {
350350 /** Removes the iframe from the element. */
351351 const iframe = element . querySelector ( 'iframe' ) ;
352352 if ( iframe ) {
353- iframe . remove ( ) ;
353+ if ( iframe . remove !== undefined ) {
354+ iframe . remove ( ) ;
355+ } else {
356+ // workaround for IE: Unhandled rejection TypeError: object doesn't support property or method 'remove'
357+ iframe . parentElement . removeChild ( iframe ) ;
358+ }
354359 }
355360 }
356361
0 commit comments