1
- /*! powerbi-client v2.4.4 | (c) 2016 Microsoft Corporation MIT */
1
+ /*! powerbi-client v2.4.5 | (c) 2016 Microsoft Corporation MIT */
2
2
declare module "config" {
3
3
const config : {
4
4
version : string ;
@@ -191,6 +191,10 @@ declare module "embed" {
191
191
* Url used in the load request.
192
192
*/
193
193
loadPath : string ;
194
+ /**
195
+ * Url used in the load request.
196
+ */
197
+ phasedLoadPath : string ;
194
198
/**
195
199
* Type of embed
196
200
*/
@@ -205,7 +209,7 @@ declare module "embed" {
205
209
* @param {HTMLElement } element
206
210
* @param {IEmbedConfigurationBase } config
207
211
*/
208
- constructor ( service : service . Service , element : HTMLElement , config : IEmbedConfigurationBase , iframe ?: HTMLIFrameElement ) ;
212
+ constructor ( service : service . Service , element : HTMLElement , config : IEmbedConfigurationBase , iframe ?: HTMLIFrameElement , phasedRender ?: boolean ) ;
209
213
/**
210
214
* Sends createReport configuration data.
211
215
*
@@ -253,9 +257,10 @@ declare module "embed" {
253
257
* ```
254
258
*
255
259
* @param {models.ILoadConfiguration } config
260
+ * @param {boolean } phasedRender
256
261
* @returns {Promise<void> }
257
262
*/
258
- load ( config : IEmbedConfigurationBase ) : Promise < void > ;
263
+ load ( config : IEmbedConfigurationBase , phasedRender ?: boolean ) : Promise < void > ;
259
264
/**
260
265
* Removes one or more event handlers from the list of handlers.
261
266
* If a reference to the existing handle function is specified, remove the specific handler.
@@ -375,7 +380,7 @@ declare module "embed" {
375
380
/**
376
381
* Sets Iframe for embed
377
382
*/
378
- private setIframe ( isLoad ) ;
383
+ private setIframe ( isLoad , phasedRender ? ) ;
379
384
}
380
385
}
381
386
declare module "ifilterable" {
@@ -592,6 +597,7 @@ declare module "report" {
592
597
import * as models from 'powerbi-models' ;
593
598
import { IFilterable } from "ifilterable" ;
594
599
import { Page } from "page" ;
600
+ import { IReportLoadConfiguration } from 'powerbi-models' ;
595
601
/**
596
602
* A Report node within a report hierarchy
597
603
*
@@ -626,7 +632,7 @@ declare module "report" {
626
632
* @param {HTMLElement } element
627
633
* @param {embed.IEmbedConfiguration } config
628
634
*/
629
- constructor ( service : service . Service , element : HTMLElement , baseConfig : embed . IEmbedConfigurationBase , iframe ?: HTMLIFrameElement ) ;
635
+ constructor ( service : service . Service , element : HTMLElement , baseConfig : embed . IEmbedConfigurationBase , phasedRender ?: boolean , iframe ?: HTMLIFrameElement ) ;
630
636
/**
631
637
* Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID
632
638
* (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1).
@@ -638,6 +644,22 @@ declare module "report" {
638
644
* @returns {string }
639
645
*/
640
646
static findIdFromEmbedUrl ( url : string ) : string ;
647
+ /**
648
+ * Render a preloaded report, using phased embedding API
649
+ *
650
+ * ```javascript
651
+ * // Load report
652
+ * var report = powerbi.load(element, config);
653
+ *
654
+ * ...
655
+ *
656
+ * // Render report
657
+ * report.render()
658
+ * ```
659
+ *
660
+ * @returns {Promise<void> }
661
+ */
662
+ render ( config ?: IReportLoadConfiguration ) : Promise < void > ;
641
663
/**
642
664
* Gets filters that are applied at the report level.
643
665
*
@@ -814,7 +836,7 @@ declare module "dashboard" {
814
836
* @param {service.Service } service
815
837
* @param {HTMLElement } element
816
838
*/
817
- constructor ( service : service . Service , element : HTMLElement , config : embed . IEmbedConfigurationBase ) ;
839
+ constructor ( service : service . Service , element : HTMLElement , config : embed . IEmbedConfigurationBase , phasedRender ?: boolean ) ;
818
840
/**
819
841
* This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id.
820
842
* E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e
@@ -863,7 +885,7 @@ declare module "tile" {
863
885
export class Tile extends embed . Embed {
864
886
static type : string ;
865
887
static allowedEvents : string [ ] ;
866
- constructor ( service : service . Service , element : HTMLElement , baseConfig : embed . IEmbedConfigurationBase ) ;
888
+ constructor ( service : service . Service , element : HTMLElement , baseConfig : embed . IEmbedConfigurationBase , phasedRender ?: boolean ) ;
867
889
/**
868
890
* The ID of the tile
869
891
*
@@ -919,7 +941,7 @@ declare module "qna" {
919
941
export class Qna extends embed . Embed {
920
942
static type : string ;
921
943
static allowedEvents : string [ ] ;
922
- constructor ( service : service . Service , element : HTMLElement , config : embed . IEmbedConfigurationBase ) ;
944
+ constructor ( service : service . Service , element : HTMLElement , config : embed . IEmbedConfigurationBase , phasedRender ?: boolean ) ;
923
945
/**
924
946
* The ID of the Qna embed component
925
947
*
@@ -1047,7 +1069,18 @@ declare module "service" {
1047
1069
* @returns {embed.Embed }
1048
1070
*/
1049
1071
embed ( element : HTMLElement , config ?: embed . IEmbedConfigurationBase ) : embed . Embed ;
1050
- embedInternal ( element : HTMLElement , config ?: embed . IEmbedConfigurationBase ) : embed . Embed ;
1072
+ /**
1073
+ * Given a configuration based on an HTML element,
1074
+ * if the component has already been created and attached to the element, reuses the component instance and existing iframe,
1075
+ * otherwise creates a new component instance.
1076
+ * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it.
1077
+ *
1078
+ * @param {HTMLElement } element
1079
+ * @param {embed.IEmbedConfigurationBase } [config={}]
1080
+ * @returns {embed.Embed }
1081
+ */
1082
+ load ( element : HTMLElement , config ?: embed . IEmbedConfigurationBase ) : embed . Embed ;
1083
+ embedInternal ( element : HTMLElement , config ?: embed . IEmbedConfigurationBase , phasedRender ?: boolean ) : embed . Embed ;
1051
1084
/**
1052
1085
* Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup.
1053
1086
*
@@ -1056,7 +1089,7 @@ declare module "service" {
1056
1089
* @param {embed.IEmbedConfigurationBase } config
1057
1090
* @returns {embed.Embed }
1058
1091
*/
1059
- private embedNew ( element , config ) ;
1092
+ private embedNew ( element , config , phasedRender ? ) ;
1060
1093
/**
1061
1094
* Given an element that already contains an embed component, load with a new configuration.
1062
1095
*
@@ -1065,7 +1098,7 @@ declare module "service" {
1065
1098
* @param {embed.IEmbedConfigurationBase } config
1066
1099
* @returns {embed.Embed }
1067
1100
*/
1068
- private embedExisting ( element , config ) ;
1101
+ private embedExisting ( element , config , phasedRender ? ) ;
1069
1102
/**
1070
1103
* Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute,
1071
1104
* and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes.
@@ -1125,7 +1158,7 @@ declare module "create" {
1125
1158
import * as models from 'powerbi-models' ;
1126
1159
import * as embed from "embed" ;
1127
1160
export class Create extends embed . Embed {
1128
- constructor ( service : service . Service , element : HTMLElement , config : embed . IEmbedConfiguration ) ;
1161
+ constructor ( service : service . Service , element : HTMLElement , config : embed . IEmbedConfiguration , phasedRender ?: boolean ) ;
1129
1162
/**
1130
1163
* Gets the dataset ID from the first available location: createConfig or embed url.
1131
1164
*
0 commit comments