powerbi-client-angular-next
Version:
Angular wrapper for powerbi-client library
1 lines • 50 kB
Source Map (JSON)
{"version":3,"file":"powerbi-client-angular-next.mjs","sources":["../../../src/utils/utils.ts","../../../src/components/powerbi-embed/powerbi-embed.component.ts","../../../src/components/powerbi-report-embed/powerbi-report-embed.component.ts","../../../src/components/powerbi-dashboard-embed/powerbi-dashboard-embed.component.ts","../../../src/components/powerbi-tile-embed/powerbi-tile-embed.component.ts","../../../src/components/powerbi-paginated-report-embed/powerbi-paginated-report-embed.component.ts","../../../src/components/powerbi-visual-embed/powerbi-visual-embed.component.ts","../../../src/components/powerbi-qna-embed/powerbi-qna-embed.component.ts","../../../src/components/powerbi-create-report/powerbi-create-report.component.ts","../../../src/powerbi-embed.module.ts","../../../src/public-api.ts","../../../src/powerbi-client-angular-next.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ElementRef } from '@angular/core';\nimport { EventHandler } from '../components/powerbi-embed/powerbi-embed.component';\n\n/**\n * Get JSON string representation of the given map.\n *\n * @param map Map of event and corresponding handler method\n *\n */\nexport const stringifyMap = (map: Map<string, EventHandler | null> | undefined): string => {\n // Return empty string for empty/null map\n if (!map) {\n return '';\n }\n\n // Get entries of map as array\n const mapEntries = Array.from(map);\n\n // Return JSON string\n return JSON.stringify(\n mapEntries.map((mapEntry) =>\n // Convert event handler method to a string containing its source code for comparison\n [mapEntry[0], mapEntry[1] ? mapEntry[1].toString() : '']\n )\n );\n};\n\n/**\n * Check if the container element, access token, and embed URL are available.\n *\n * @param containerRef Reference to the container element\n * @param embedConfig Configuration object for the embed, containing access token and embed URL\n *\n */\nexport const isEmbedSetupValid = (containerRef: ElementRef<HTMLDivElement>, embedConfig: any): boolean => {\n return !!containerRef.nativeElement && !!embedConfig.accessToken && !!embedConfig.embedUrl;\n}\n\n// SDK information to be used with service instance\nexport const sdkType = 'powerbi-client-angular';\nexport const sdkWrapperVersion = '5.0.0';\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Component, DestroyRef, inject, input, OnInit } from '@angular/core';\nimport { Embed, factories, service } from 'powerbi-client';\nimport { stringifyMap, sdkType, sdkWrapperVersion } from '../../utils/utils';\n\n/**\n * Type for event handler function of embedded entity\n */\nexport type EventHandler = (\n event?: service.ICustomEvent<any>,\n embeddedEntity?: Embed\n) => void | null;\n\n/**\n * Base component to hold common properties for all the Power BI entities\n */\n@Component({\n selector: 'powerbi-embed',\n template: '',\n standalone: true,\n})\nexport class PowerBIEmbedComponent implements OnInit {\n // Power BI service instance to be used if user doesnt provide custom service\n private static _powerbi: service.Service;\n\n // Input() specify the properties that will be passed from the parent\n // CSS class to be set on the embedding container (Optional)\n readonly cssClassName = input<string>();\n\n // Provide a custom implementation of Power BI service (Optional)\n readonly service = input<service.Service>();\n\n // Power BI service\n powerbi!: service.Service;\n\n // JSON stringify of prev event handler map\n private prevEventHandlerMapString = '';\n\n private destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n // Initialize powerbi variable for child component\n if (this.service()) {\n this.powerbi = this.service()!;\n } else {\n if (!PowerBIEmbedComponent._powerbi) {\n PowerBIEmbedComponent._powerbi = new service.Service(\n factories.hpmFactory,\n factories.wpmpFactory,\n factories.routerFactory\n );\n }\n this.powerbi = PowerBIEmbedComponent._powerbi;\n }\n\n this.powerbi.setSdkInfo(sdkType, sdkWrapperVersion);\n }\n\n /**\n * Sets all event handlers from the input on the embedded entity\n *\n * @param embed Embedded object\n * @param eventHandlerMap Array of event handlers to be set on embedded entity\n * @returns void\n */\n protected setEventHandlers(\n embed: Embed,\n eventHandlerMap: Map<string, EventHandler | null>\n ): void {\n // Get string representation of eventHandlerMap\n const eventHandlerMapString = stringifyMap(eventHandlerMap);\n\n // Check if event handler map changed\n if (this.prevEventHandlerMapString === eventHandlerMapString) {\n return;\n }\n\n // Update prev string representation of event handler map\n this.prevEventHandlerMapString = eventHandlerMapString;\n\n // Apply all provided event handlers\n eventHandlerMap.forEach((eventHandlerMethod, eventName) => {\n // Removes event handler for this event\n embed.off(eventName);\n\n // Event handler is effectively removed for this event when eventHandlerMethod is null\n if (eventHandlerMethod) {\n // Set single event handler\n embed.on(eventName, (event: service.ICustomEvent<any>): void => {\n eventHandlerMethod(event, embed);\n });\n\n this.destroyRef.onDestroy(() => embed.off(eventName));\n }\n });\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Embed, IReportEmbedConfiguration, Report } from 'powerbi-client';\nimport {\n EventHandler,\n PowerBIEmbedComponent,\n} from '../powerbi-embed/powerbi-embed.component';\nimport { isEmbedSetupValid } from '../../utils/utils';\n\n/**\n * Report component to embed the report, extends the Base Component\n */\n@Component({\n selector: 'powerbi-report[embedConfig]',\n template: '<div class={{cssClassName()}} #reportContainer></div>',\n standalone: true,\n})\nexport class PowerBIReportEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Input() specify properties that will be passed from parent\n // Configuration for embedding the PowerBI Report (Required)\n @Input() embedConfig!: IReportEmbedConfiguration;\n\n // Phased embedding flag (Optional)\n @Input() phasedEmbedding?: boolean = false;\n\n // Map of event name and handler methods pairs to be triggered on the event (Optional)\n @Input() eventHandlers?: Map<string, EventHandler | null>;\n\n // Ref to the HTML div container element\n @ViewChild('reportContainer')\n private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n // Returns embed object to calling function\n getReport(): Report {\n return this._embed as Report;\n }\n\n ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: IReportEmbedConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: IReportEmbedConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embed function to re-embed the report\n this.embedReport();\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n ngAfterViewInit(): void {\n // Check if container exists on the UI\n if (this.containerRef.nativeElement) {\n // Decide to embed, load or bootstrap\n if (this.embedConfig.accessToken && this.embedConfig.embedUrl) {\n this.embedReport();\n } else {\n this.embed = this.powerbi.bootstrap(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n /**\n * Embed or load the PowerBI Report based on phasedEmbedding flag\n *\n * @returns void\n */\n private embedReport(): void {\n if (!isEmbedSetupValid(this.containerRef, this.embedConfig)) {\n return;\n }\n\n // Load when phasedEmbedding flag is true, embed otherwise\n if (this.phasedEmbedding) {\n this.embed = this.powerbi.load(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n } else {\n this.embed = this.powerbi.embed(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Dashboard, Embed, IDashboardEmbedConfiguration } from 'powerbi-client';\nimport {\n EventHandler,\n PowerBIEmbedComponent,\n} from '../powerbi-embed/powerbi-embed.component';\nimport { isEmbedSetupValid } from '../../utils/utils';\n\n/**\n * Dashboard component to embed the dashboard, extends the Base component\n */\n@Component({\n selector: 'powerbi-dashboard[embedConfig]',\n template: '<div class={{cssClassName}} #dashboardContainer></div>',\n standalone: true,\n})\nexport class PowerBIDashboardEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Input() specify properties that will be passed from parent\n // Configuration for embedding the PowerBI Dashboard (Required)\n @Input() embedConfig!: IDashboardEmbedConfiguration;\n\n // Map of event name and handler methods pairs to be triggered on the event (Optional)\n @Input() eventHandlers?: Map<string, EventHandler | null>;\n\n // Ref to the HTML div container element\n @ViewChild('dashboardContainer')\n private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n // Returns embed object to calling function\n getDashboard(): Dashboard {\n return this.embed as Dashboard;\n }\n\n ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: IDashboardEmbedConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: IDashboardEmbedConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embedDashboard function\n this.embedDashboard();\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n ngAfterViewInit(): void {\n // Check if container exists on the UI\n if (this.containerRef.nativeElement) {\n // Decide to embed or bootstrap\n if (this.embedConfig.accessToken && this.embedConfig.embedUrl) {\n this.embedDashboard();\n } else {\n this.embed = this.powerbi.bootstrap(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n /**\n * Embed the PowerBI Dashboard\n *\n * @returns void\n */\n private embedDashboard(): void {\n if (!isEmbedSetupValid(this.containerRef, this.embedConfig)) {\n return;\n }\n\n this.embed = this.powerbi.embed(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Embed, ITileEmbedConfiguration, Tile } from 'powerbi-client';\nimport {\n EventHandler,\n PowerBIEmbedComponent,\n} from '../powerbi-embed/powerbi-embed.component';\n\n/**\n * Tile component to embed the tile, extends Base component\n */\n@Component({\n selector: 'powerbi-tile[embedConfig]',\n template: '<div class={{cssClassName()}} #tileContainer></div>',\n standalone: true,\n})\nexport class PowerBITileEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Input() specify properties that will be passed from parent\n // Configuration for embedding the PowerBI Tile (Required)\n @Input() embedConfig!: ITileEmbedConfiguration;\n\n // Map of event name and handler methods pairs to be triggered on the event (Optional)\n @Input() eventHandlers?: Map<string, EventHandler | null>;\n\n // Ref to the HTML div container element\n @ViewChild('tileContainer') private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n // Returns embed object to calling function\n getTile(): Tile {\n return this._embed as Tile;\n }\n\n ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: ITileEmbedConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: ITileEmbedConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embedTile function\n this.embedTile();\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n ngAfterViewInit(): void {\n // Check if container exists on the UI\n if (this.containerRef.nativeElement) {\n // Decide to embed or bootstrap\n if (this.embedConfig.accessToken && this.embedConfig.embedUrl) {\n this.embedTile();\n } else {\n this.embed = this.powerbi.bootstrap(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n /**\n * Embed the PowerBI Tile\n *\n * @returns void\n */\n private embedTile(): void {\n // Check if the HTML container is rendered and available\n if (\n !this.containerRef.nativeElement ||\n !this.embedConfig.accessToken ||\n !this.embedConfig.embedUrl\n ) {\n return;\n }\n\n this.embed = this.powerbi.embed(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Embed } from 'powerbi-client';\nimport { IPaginatedReportLoadConfiguration } from 'powerbi-models';\nimport { PowerBIEmbedComponent } from '../powerbi-embed/powerbi-embed.component';\nimport { isEmbedSetupValid } from '../../utils/utils';\n\n/**\n * Paginated report component to embed the entity, extends the Base component\n */\n@Component({\n selector: 'powerbi-paginated-report[embedConfig]',\n template: '<div class={{cssClassName()}} #paginatedReportContainer></div>',\n standalone: true,\n})\nexport class PowerBIPaginatedReportEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Input() specify properties that will be passed from parent\n // Configuration for embedding the PowerBI Paginated report (Required)\n @Input() embedConfig!: IPaginatedReportLoadConfiguration;\n\n // Ref to the HTML div container element\n @ViewChild('paginatedReportContainer')\n private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: IPaginatedReportLoadConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: IPaginatedReportLoadConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embedPaginatedReport function\n this.embedPaginatedReport();\n }\n }\n }\n\n ngAfterViewInit(): void {\n // Check if container exists on the UI\n if (this.containerRef.nativeElement) {\n // Decide to embed\n this.embedPaginatedReport();\n }\n }\n\n /**\n * Embed the PowerBI Paginated report\n *\n * @returns void\n */\n private embedPaginatedReport(): void {\n // Check if the HTML container is rendered and available\n if (!isEmbedSetupValid(this.containerRef, this.embedConfig)) {\n return;\n }\n\n // Embed paginated report\n this.embed = this.powerbi.embed(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Embed, IVisualEmbedConfiguration, Visual } from 'powerbi-client';\nimport {\n EventHandler,\n PowerBIEmbedComponent,\n} from '../powerbi-embed/powerbi-embed.component';\nimport { isEmbedSetupValid } from '../../utils/utils';\n\n/**\n * Visual component to embed the visual, extends Base component\n */\n@Component({\n selector: 'powerbi-visual[embedConfig]',\n template: '<div class={{cssClassName()}} #visualContainer></div>',\n standalone: true,\n})\nexport class PowerBIVisualEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Input() specify properties that will be passed from parent\n // Configuration for embedding the PowerBI Visual (Required)\n @Input() embedConfig!: IVisualEmbedConfiguration;\n\n // Map of event name and handler methods pairs to be triggered on the event (Optional)\n @Input() eventHandlers?: Map<string, EventHandler | null>;\n\n // Ref to the HTML div container element\n @ViewChild('visualContainer')\n private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n // Returns embed object to calling function\n getVisual(): Visual {\n return this._embed as Visual;\n }\n\n ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: IVisualEmbedConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: IVisualEmbedConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embedVisual function\n this.embedVisual();\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n ngAfterViewInit(): void {\n // Check if container exists on the UI\n if (this.containerRef.nativeElement) {\n // Decide to embed or bootstrap\n if (this.embedConfig.accessToken && this.embedConfig.embedUrl) {\n this.embedVisual();\n } else {\n this.embed = this.powerbi.bootstrap(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n /**\n * Embed the PowerBI Visual\n *\n * @returns void\n */\n private embedVisual(): void {\n if (!isEmbedSetupValid(this.containerRef, this.embedConfig)) {\n return;\n }\n\n this.embed = this.powerbi.embed(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Embed, IQnaEmbedConfiguration, Qna } from 'powerbi-client';\nimport {\n EventHandler,\n PowerBIEmbedComponent,\n} from '../powerbi-embed/powerbi-embed.component';\nimport { isEmbedSetupValid } from '../../utils/utils';\n\n/**\n * Qna component to embed the Qna visual, extends Base component\n */\n@Component({\n selector: 'powerbi-qna[embedConfig]',\n template: '<div class={{cssClassName()}} #qnaContainer></div>',\n standalone: true,\n})\nexport class PowerBIQnaEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Input() specify properties that will be passed from parent\n // Configuration for embedding the PowerBI Qna visual (Required)\n @Input() embedConfig!: IQnaEmbedConfiguration;\n\n // Map of event name and handler methods pairs to be triggered on the event (Optional)\n @Input() eventHandlers?: Map<string, EventHandler | null>;\n\n // Ref to the HTML div container element\n @ViewChild('qnaContainer') private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n // Returns embed object to calling function\n getQna(): Qna {\n return this._embed as Qna;\n }\n\n ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: IQnaEmbedConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: IQnaEmbedConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embedQnaVisual function\n this.embedQnaVisual();\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n ngAfterViewInit(): void {\n // Check if container exists on the UI\n if (this.containerRef.nativeElement) {\n // Decide to embed or bootstrap\n if (this.embedConfig.accessToken && this.embedConfig.embedUrl) {\n this.embedQnaVisual();\n } else {\n this.embed = this.powerbi.bootstrap(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n /**\n * Embed the PowerBI QnA Visual\n *\n * @returns void\n */\n private embedQnaVisual(): void {\n // Check if the HTML container is rendered and available\n if (!isEmbedSetupValid(this.containerRef, this.embedConfig)) {\n return;\n }\n\n this.embed = this.powerbi.embed(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Embed, Create } from 'powerbi-client';\nimport { IReportCreateConfiguration } from 'powerbi-models';\n\nimport {\n EventHandler,\n PowerBIEmbedComponent,\n} from '../powerbi-embed/powerbi-embed.component';\nimport { isEmbedSetupValid } from '../../utils/utils';\n\n/**\n * Create report component to embed the entity, extends the Base component\n */\n@Component({\n selector: 'powerbi-create-report[embedConfig]',\n template: '<div class={{cssClassName()}} #createReportContainer></div>',\n standalone: true,\n})\nexport class PowerBICreateReportEmbedComponent\n extends PowerBIEmbedComponent\n implements OnInit, OnChanges, AfterViewInit\n{\n // Configuration for embedding the PowerBI Create report (Required)\n @Input() embedConfig!: IReportCreateConfiguration;\n\n // Map of event name and handler methods pairs to be triggered on the event (Optional)\n @Input() eventHandlers?: Map<string, EventHandler | null>;\n\n // Ref to the HTML div container element\n @ViewChild('createReportContainer')\n private containerRef!: ElementRef<HTMLDivElement>;\n\n // Embedded entity\n // Note: Do not read or assign to this member variable directly, instead use the getter and setter\n private _embed?: Embed;\n\n // Getter for this._embed\n private get embed(): Embed | undefined {\n return this._embed;\n }\n\n // Setter for this._embed\n private set embed(newEmbedInstance: Embed | undefined) {\n this._embed = newEmbedInstance;\n }\n\n constructor() {\n super();\n }\n\n // Returns embed object to calling function\n public getCreateObject(): Create {\n return this._embed as Create;\n }\n\n public ngOnInit(): void {\n // Initialize PowerBI service instance variable from parent\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.embedConfig) {\n // Check if the function is being called for the first time\n if (changes.embedConfig.isFirstChange()) {\n return;\n }\n\n const prevEmbedConfig: IReportCreateConfiguration =\n changes.embedConfig.previousValue;\n const currentEmbedConfig: IReportCreateConfiguration =\n changes.embedConfig.currentValue;\n if (\n JSON.stringify(prevEmbedConfig) !== JSON.stringify(currentEmbedConfig)\n ) {\n // Input from parent get updated, thus call embedCreateReport function\n this.embedCreateReport();\n }\n }\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n public ngAfterViewInit(): void {\n // Decide to embed\n this.embedCreateReport();\n\n // Set event handlers if available\n if (this.eventHandlers && this.embed) {\n super.setEventHandlers(this.embed, this.eventHandlers);\n }\n }\n\n /**\n * Embed the PowerBI Create report\n *\n * @returns void\n */\n private embedCreateReport(): void {\n // Check if the HTML container is rendered and available\n if (!isEmbedSetupValid(this.containerRef, this.embedConfig)) {\n return;\n }\n\n // Embed create report\n this.embed = this.powerbi.createReport(\n this.containerRef.nativeElement,\n this.embedConfig\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { NgModule } from '@angular/core';\nimport { PowerBIEmbedComponent } from './components/powerbi-embed/powerbi-embed.component';\nimport { PowerBIDashboardEmbedComponent } from './components/powerbi-dashboard-embed/powerbi-dashboard-embed.component';\nimport { PowerBIPaginatedReportEmbedComponent } from './components/powerbi-paginated-report-embed/powerbi-paginated-report-embed.component';\nimport { PowerBIQnaEmbedComponent } from './components/powerbi-qna-embed/powerbi-qna-embed.component';\nimport { PowerBIReportEmbedComponent } from './components/powerbi-report-embed/powerbi-report-embed.component';\nimport { PowerBITileEmbedComponent } from './components/powerbi-tile-embed/powerbi-tile-embed.component';\nimport { PowerBIVisualEmbedComponent } from './components/powerbi-visual-embed/powerbi-visual-embed.component';\nimport { PowerBICreateReportEmbedComponent } from './components/powerbi-create-report/powerbi-create-report.component';\n\n@NgModule({\n imports: [\n PowerBIEmbedComponent,\n PowerBIDashboardEmbedComponent,\n PowerBIPaginatedReportEmbedComponent,\n PowerBIQnaEmbedComponent,\n PowerBIReportEmbedComponent,\n PowerBITileEmbedComponent,\n PowerBIVisualEmbedComponent,\n PowerBICreateReportEmbedComponent,\n ],\n exports: [\n PowerBIDashboardEmbedComponent,\n PowerBIPaginatedReportEmbedComponent,\n PowerBIQnaEmbedComponent,\n PowerBIReportEmbedComponent,\n PowerBITileEmbedComponent,\n PowerBIVisualEmbedComponent,\n PowerBICreateReportEmbedComponent,\n ],\n})\nexport class PowerBIEmbedModule {}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/*\n * Public API Surface of powerbi-client-angular\n */\n\nexport { PowerBIReportEmbedComponent } from './components/powerbi-report-embed/powerbi-report-embed.component';\nexport { PowerBIDashboardEmbedComponent } from './components/powerbi-dashboard-embed/powerbi-dashboard-embed.component';\nexport { PowerBITileEmbedComponent } from './components/powerbi-tile-embed/powerbi-tile-embed.component';\nexport { PowerBIPaginatedReportEmbedComponent } from './components/powerbi-paginated-report-embed/powerbi-paginated-report-embed.component';\nexport { PowerBIVisualEmbedComponent } from './components/powerbi-visual-embed/powerbi-visual-embed.component';\nexport { PowerBIQnaEmbedComponent } from './components/powerbi-qna-embed/powerbi-qna-embed.component';\nexport { PowerBICreateReportEmbedComponent } from './components/powerbi-create-report/powerbi-create-report.component';\nexport { PowerBIEmbedModule } from './powerbi-embed.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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