@@ -25,6 +25,7 @@ function _Embed_BasicEmbed() {
2525 accessToken : txtAccessToken ,
2626 embedUrl : txtEmbedUrl ,
2727 id : txtEmbedReportId ,
28+ permissions : 3 /*All*/ ,
2829 settings : {
2930 filterPaneEnabled : true ,
3031 navContentPaneEnabled : true
@@ -77,6 +78,39 @@ function _Embed_EmbedWithDefaultFilter() {
7778 powerbi . embed ( reportContainer , embedConfiguration ) ;
7879}
7980
81+ function _Embed_Create ( ) {
82+ // Read embed application token from textbox
83+ var txtAccessToken = $ ( '#txtAccessToken' ) . val ( ) ;
84+
85+ // Read embed URL from textbox
86+ var txtEmbedUrl = $ ( '#txtReportEmbed' ) . val ( ) ;
87+
88+ // Read dataset Id from textbox
89+ var txtEmbedDatasetId = $ ( '#txtEmbedDatasetId' ) . val ( ) ;
90+
91+ // Embed create configuration used to describe the what and how to create report.
92+ // This object is used when calling powerbi.createReport.
93+ var embedCreateConfiguration = {
94+ accessToken : txtAccessToken ,
95+ embedUrl : txtEmbedUrl ,
96+ datasetId : txtEmbedDatasetId ,
97+ } ;
98+
99+ // Grab the reference to the div HTML element that will host the report
100+ var reportContainer = $ ( '#reportContainer' ) [ 0 ] ;
101+
102+ // Create report
103+ var report = powerbi . createReport ( reportContainer , embedCreateConfiguration ) ;
104+
105+ // Report.off removes a given event handler if it exists.
106+ report . off ( "loaded" ) ;
107+
108+ // Report.on will add an event handler which prints to Log window.
109+ report . on ( "loaded" , function ( ) {
110+ Log . logText ( "Loaded" ) ;
111+ } ) ;
112+ }
113+
80114// ---- Report Operations ----------------------------------------------------
81115
82116function _Report_GetId ( ) {
@@ -251,6 +285,82 @@ function _Report_ExitFullScreen() {
251285 report . exitFullscreen ( ) ;
252286}
253287
288+ function _Report_switchModeEdit ( ) {
289+ // Get a reference to the embedded report.
290+ report = powerbi . embeds [ 0 ] ;
291+
292+ // Switch to edit mode.
293+ report . switchMode ( "edit" ) ;
294+ }
295+
296+ function _Report_switchModeView ( ) {
297+ // Get a reference to the embedded report.
298+ report = powerbi . embeds [ 0 ] ;
299+
300+ // Switch to view mode.
301+ report . switchMode ( "view" ) ;
302+ }
303+
304+ function _Report_save ( ) {
305+ // Get a reference to report.
306+ report = powerbi . embeds [ 0 ] ;
307+
308+ // Save report
309+ report . save ( ) ;
310+
311+ // report.off removes a given event handler if it exists.
312+ report . off ( "saved" ) ;
313+
314+ // report.on will add an event handler which prints to Log window.
315+ report . on ( "saved" , function ( ) {
316+ var reportObjectId = event . detail . reportObjectId ;
317+ var isSaveAs = event . detail . saveAs ;
318+ Log . logText ( "Save Report Completed, reportObjectId: " + reportObjectId ) ;
319+ Log . logText ( "Is saveAs: " + isSaveAs . toString ( ) ) ;
320+ } ) ;
321+ }
322+
323+ function _Report_saveAs ( ) {
324+ // Get a reference to report.
325+ report = powerbi . embeds [ 0 ] ;
326+
327+ var saveAsParameters = {
328+ name : "newReport"
329+ } ;
330+
331+ // SaveAs report
332+ report . saveAs ( saveAsParameters ) ;
333+
334+ // report.off removes a given event handler if it exists.
335+ report . off ( "saved" ) ;
336+
337+ // report.on will add an event handler which prints to Log window.
338+ report . on ( "saved" , function ( ) {
339+ var reportObjectId = event . detail . reportObjectId ;
340+ var isSaveAs = event . detail . saveAs ;
341+ var name = event . detail . reportName ;
342+ Log . logText ( "Report name " + name ) ;
343+ Log . logText ( "Save Report Completed, new reportObjectId: " + reportObjectId ) ;
344+ Log . logText ( "Is saveAs: " + isSaveAs . toString ( ) ) ;
345+ } ) ;
346+ }
347+
348+ function _Report_setAccessToken ( ) {
349+ // Get a reference to report.
350+ report = powerbi . embeds [ 0 ] ;
351+
352+ // New AccessToken
353+ var newAccessToken = "newAccessToken" ;
354+
355+ // Set new AccessToken
356+ report . setAccessToken ( newAccessToken ) . then ( function ( result ) {
357+ Log . log ( "AccessToken set" ) ;
358+ } )
359+ . catch ( function ( errors ) {
360+ Log . log ( errors ) ;
361+ } ) ;
362+ }
363+
254364// ---- Page Operations ----------------------------------------------------
255365
256366function _Page_SetActive ( ) {
0 commit comments