Skip to content

Commit b1e2b0f

Browse files
authored
Merge pull request microsoft#145 from Microsoft/omarmstr/create_and_save_sdk
Omarmstr/create and save sdk
2 parents 0f50079 + 5d4e0f6 commit b1e2b0f

20 files changed

Lines changed: 1243 additions & 53 deletions

demo/code-demo/scripts/codesamples.js

Lines changed: 208 additions & 18 deletions
Large diffs are not rendered by default.

demo/code-demo/scripts/report.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,22 @@ function OpenInteractStep() {
5454
LoadCodeArea("#embedCodeDiv", _Report_GetId);
5555
});
5656
}
57+
58+
function OpenCreateStep() {
59+
$("#steps-auth a").removeClass(active_class);
60+
$('#steps-embed a').addClass(active_class);
61+
$('#steps-interact a').removeClass(active_class);
62+
63+
$("#steps-auth .step-div").removeClass(active_div);
64+
$('#steps-embed .step-div').addClass(active_div);
65+
$('#steps-interact .step-div').removeClass(active_div);
66+
67+
// Hide Embed view in authorization step.
68+
$("#authorize-step-wrapper").hide();
69+
$("#embed-and-interact-steps-wrapper").show();
70+
71+
$("#settings").load("settings_create.html", function() {
72+
SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedDatasetId");
73+
LoadCodeArea("#embedCodeDiv", _Embed_Create);
74+
});
75+
}

demo/code-demo/scripts/step_authorize.js

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
function OpenEmbedStepWithSampleValues(accessToken, embedUrl, reportId)
22
{
3-
SetSession(SessionKeys.AccessToken, accessToken);
4-
SetSession(SessionKeys.EmbedUrl, embedUrl);
5-
SetSession(SessionKeys.EmbedId, reportId);
6-
3+
setSession(accessToken, embedUrl, reportId);
74
OpenEmbedStep();
85
}
96

7+
function OpenCleanEmbedStep()
8+
{
9+
OpenEmbedStepWithSampleValues("","","");
10+
}
11+
1012
function OpenEmbedStepWithSample() {
1113
var staticReportUrl = 'https://powerbi-embed-api.azurewebsites.net/api/reports/c52af8ab-0468-4165-92af-dc39858d66ad';
1214
fetch(staticReportUrl).then(function (response) {
@@ -20,4 +22,31 @@ function OpenEmbedStepWithSample() {
2022
var accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXIiOiIwLjIuMCIsIndjbiI6IlBvd2VyQmlBenVyZVNhbXBsZXMiLCJ3aWQiOiJmODFjMTk2Ni1lZGVlLTQxMWItOGY4YS1mODQ0NjAxOWIwNDQiLCJyaWQiOiJjNTJhZjhhYi0wNDY4LTQxNjUtOTJhZi1kYzM5ODU4ZDY2YWQiLCJpc3MiOiJQb3dlckJJU0RLIiwiYXVkIjoiaHR0cHM6Ly9hbmFseXNpcy53aW5kb3dzLm5ldC9wb3dlcmJpL2FwaSIsImV4cCI6MTg5MzQ0ODgwMCwibmJmIjoxNDgxMDM3MTY5fQ.m4SwqmRWA9rJgfl72lEQ_G-Ijpw9Up5YwmBOfXi00YU";
2123

2224
OpenEmbedStepWithSampleValues(accessToken, embedUrl, reportId);
25+
}
26+
27+
function OpenEmbedStepCreateWithSampleValues(accessToken, embedUrl, datasetId)
28+
{
29+
setSession(accessToken, embedUrl, datasetId);
30+
OpenCreateStep();
31+
}
32+
33+
function OpenCleanEmbedStepCreate()
34+
{
35+
OpenEmbedStepCreateWithSampleValues("","","");
36+
}
37+
38+
function OpenEmbedStepCreateWithSample() {
39+
// Default values - report with embed token which expires on 1/1/2030.
40+
var embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportEmbedEditingEnabled=true';
41+
var datasetId = '8f94aa87-a12b-4afa-9ff3-a0f78cd434b9';
42+
var accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3Y24iOiJEYmctV0FCSS1QQUFTLTEtU0NVUyIsIndpZCI6IjhhMGNlZTNlLTc3ZmEtNGM1Ny1hZTQ4LWM4NzliOTkwMjQyNSIsImRpZCI6IjhmOTRhYTg3LWExMmItNGFmYS05ZmYzLWEwZjc4Y2Q0MzRiOSIsInZlciI6IjAuMi4wIiwidHlwZSI6ImVtYmVkIiwic2NwIjoiRGF0YXNldC5SZWFkIiwiaXNzIjoiUG93ZXJCSVNESyIsImF1ZCI6Imh0dHBzOi8vYW5hbHlzaXMud2luZG93cy5uZXQvcG93ZXJiaS9hcGkiLCJleHAiOjE0OTU1MzE5MjEsIm5iZiI6MTQ4Njg4ODMyMX0.Lzug-8hFwPEWNgCJovk338Fc6Y6lrAZOcOruDRzT-Qw";
43+
44+
OpenEmbedStepCreateWithSampleValues(accessToken, embedUrl, datasetId);
45+
}
46+
47+
function setSession(accessToken, embedUrl, datasetId)
48+
{
49+
SetSession(SessionKeys.AccessToken, accessToken);
50+
SetSession(SessionKeys.EmbedUrl, embedUrl);
51+
SetSession(SessionKeys.EmbedId, datasetId);
2352
}

demo/code-demo/scripts/step_embed.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,25 @@ function Events_PageChanged() {
7070
function Events_DataSelected() {
7171
SetCode(_Events_DataSelected);
7272
}
73+
74+
function Events_SaveAsTriggered() {
75+
SetCode(_Events_SaveAsTriggered);
76+
}
77+
78+
// ---- Edit and Save Operations ----------------------------------------------------
79+
80+
function Report_switchModeEdit() {
81+
SetCode(_Report_switchModeEdit);
82+
}
83+
84+
function Report_switchModeView() {
85+
SetCode(_Report_switchModeView);
86+
}
87+
88+
function Report_save() {
89+
SetCode(_Report_save);
90+
}
91+
92+
function Report_saveAs() {
93+
SetCode(_Report_saveAs);
94+
}

demo/code-demo/scripts/step_interact.js

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ function OpenReportOperations() {
22
$("#report-operations-div").show();
33
$("#page-operations-div").hide();
44
$("#events-operations-div").hide();
5-
5+
$("#editandsave-operations-div").hide();
6+
67
$("#report-operations-li").addClass('active');
78
$('#page-operations-li').removeClass('active');
89
$('#events-operations-li').removeClass('active');
9-
10+
$('#editandsave-operations-li').removeClass('active');
11+
1012
$("#report-operations-div .function-ul li.active").click()
1113

1214
$("#selected-catogory-button").html("Report operations");
@@ -17,10 +19,12 @@ function OpenPageOperations() {
1719
$("#page-operations-div").show();
1820
$("#report-operations-div").hide();
1921
$("#events-operations-div").hide();
22+
$("#editandsave-operations-div").hide();
2023

2124
$("#page-operations-li").addClass('active');
2225
$('#report-operations-li').removeClass('active');
2326
$('#events-operations-li').removeClass('active');
27+
$('#editandsave-operations-li').removeClass('active');
2428

2529
$("#page-operations-div .function-ul li.active").click();
2630

@@ -32,17 +36,36 @@ function OpenEventOperations() {
3236
$("#page-operations-div").hide();
3337
$("#report-operations-div").hide();
3438
$("#events-operations-div").show();
39+
$("#editandsave-operations-div").hide();
3540

3641
$("#page-operations-li").removeClass('active');
3742
$('#report-operations-li').removeClass('active');
3843
$('#events-operations-li').addClass('active');
39-
44+
$('#editandsave-operations-li').removeClass('active');
45+
4046
$("#events-operations-div .function-ul li.active").click();
4147

4248
$("#selected-catogory-button").html("Events Listener");
4349
HideCategoriesList();
4450
}
4551

52+
function OpenEditAndSaveOperations() {
53+
$("#page-operations-div").hide();
54+
$("#report-operations-div").hide();
55+
$("#events-operations-div").hide();
56+
$("#editandsave-operations-div").show();
57+
58+
$("#page-operations-li").removeClass('active');
59+
$('#report-operations-li').removeClass('active');
60+
$('#events-operations-li').removeClass('active');
61+
$('#editandsave-operations-li').addClass('active');
62+
63+
$("#editandsave-operations-div .function-ul li.active").click();
64+
65+
$("#selected-catogory-button").html("Edit and save operations");
66+
HideCategoriesList();
67+
}
68+
4669
function HideCategoriesList() {
4770
$("#operations-ul-wrapper").hide();
4871
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<div id="report-embed-table">
2+
3+
<div class="tabContainer">
4+
<ul class="nav nav-tabs">
5+
<li id="steps-embed" onclick="OpenCleanEmbedStep();">
6+
<a data-toggle="tab" href="#Embed">Embed</a>
7+
</li>
8+
<li class="active" id="steps-embed" onclick="OpenCreateStep();">
9+
<a data-toggle="tab" href="#Create">Create</a>
10+
</li>
11+
</ul>
12+
</div>
13+
14+
<div class="pageTitle">
15+
<h4>Create Report</h4>
16+
<h8>Fill in the fields below to get the code to create your report.</h8>
17+
<div class="spacer" />
18+
</div>
19+
<div class="inputLine">
20+
<h8>Embed App Token</h8>
21+
<div><input type="text" id="txtAccessToken" onchange="UpdateSession(this, SessionKeys.AccessToken);" /></div>
22+
</div>
23+
<div class="inputLine">
24+
<h8>Embed URL</h8>
25+
<div><input type="text" id="txtReportEmbed" onchange="UpdateSession(this, SessionKeys.EmbedUrl);" value="https://embedded.powerbi.com/appTokenReportEmbed"/></div>
26+
</div>
27+
<div class="inputLine">
28+
<h8>Dataset Id</h8>
29+
<div><input type="text" id="txtEmbedDatasetId" onchange="UpdateSession(this, SessionKeys.EmbedId);"/></div>
30+
</div>
31+
</div>

demo/code-demo/settings_embed.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
<div id="report-embed-table">
2+
3+
<div class="tabContainer">
4+
<ul class="nav nav-tabs">
5+
<li class="active" id="steps-embed" onclick="OpenEmbedStep();">
6+
<a data-toggle="tab" href="#Embed">Embed</a>
7+
</li>
8+
<li id="steps-embed" onclick="OpenCleanEmbedStepCreate();">
9+
<a data-toggle="tab" href="#Create">Create</a>
10+
</li>
11+
</ul>
12+
</div>
13+
214
<div class="pageTitle">
315
<h4>Embed Report</h4>
416
<h8>Fill in the fields below to get the code to embed your report.</h8>
@@ -16,4 +28,7 @@ <h4>Embed Report</h4>
1628
<h8>Report Id</h8>
1729
<div><input type="text" id="txtEmbedReportId" onchange="UpdateSession(this, SessionKeys.EmbedId);"/></div>
1830
</div>
31+
<div id="report-embed-checkbox" class="checkbox">
32+
<label><input type="checkbox" id="viewModeCheckbox">Embed in Edit mode</label>
33+
</div>
1934
</div>

demo/code-demo/settings_interact.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
<li id="events-operations-li" onclick="OpenEventOperations();"></span>
1717
<span><a href="#">Events listener</a>
1818
</li>
19+
<li id="editandsave-operations-li" onclick="OpenEditAndSaveOperations();"></span>
20+
<span><a href="#">Edit and save operations</a>
21+
</li>
1922
</ul>
2023
<img src="images/arrow_flipped.png" onclick="HideCategoriesList();" />
2124
</div>
@@ -49,6 +52,15 @@
4952
<ul class="function-ul">
5053
<li class="active" onclick="Events_PageChanged()">Page Changed</li>
5154
<li class="" onclick="Events_DataSelected()">Data Selected</li>
55+
<li class="" onclick="Events_SaveAsTriggered()">SaveAs Triggered</li>
56+
</ul>
57+
</div>
58+
<div id="editandsave-operations-div" class="operations-div" style="display: none;">
59+
<ul class="function-ul">
60+
<li class="" onclick="Report_switchModeEdit()">Enter edit mode</li>
61+
<li class="" onclick="Report_switchModeView()">Enter view mode</li>
62+
<li class="" onclick="Report_save()">Save report</li>
63+
<li class="" onclick="Report_saveAs()">SaveAs report</li>
5264
</ul>
5365
</div>
5466
</div>

demo/code-demo/step_authorize.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ <h3>Sample Report</h3>
77
</div>
88
<div class="settings">
99
<button id="GoToEmbedStepButton" class="blueButton" onclick="OpenEmbedStepWithSample()">Embed sample report</button>
10+
<button id="GoToEmbedStepButton" class="blueButton" onclick="OpenEmbedStepCreateWithSample()">Create embeded report with sample dataset</button>
1011
</div>
1112
</div>
1213

demo/code-demo/step_create.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!DOCTYPE html>
2+
<div id="settings">
3+
<table id="report-embed-table">
4+
<tr>
5+
<td class="td-field-name">Embed App Token</td>
6+
<td><input type="text" id="txtAccessToken" onchange="UpdateSessions();" /><br/></td>
7+
</tr>
8+
<tr>
9+
<td class="td-field-name">Embed url</td>
10+
<td>
11+
<input type="text" id="txtReportEmbed" onchange="UpdateSessions();" value="https://embedded.powerbi.com/appTokenReportEmbed"/>
12+
</td>
13+
</tr>
14+
<tr>
15+
<td class="td-field-name">Dataset Id</td>
16+
<td><input type="text" id="txtEmbedDatasetId" onchange="UpdateSessions();"/><br/></td>
17+
</tr>
18+
</table>
19+
20+
<h4>Code</h4>
21+
<pre id="txtEmbedCode" /><br/>
22+
23+
<button id="btnRunEmbedCode" class="btn btn-primary" onclick="">Run Code</button>
24+
25+
<button id="nextStep" class="btn btn-primary" onclick="OpenInteractStep()">Next step - Interact</button>
26+
</div>
27+
28+
<script>
29+
SetEmbedUrlFromSessionOrUrlParam();
30+
SetAccessTokenFromSessionOrUrlParam();
31+
SetEmbedCode(_Embed_Create);
32+
</script>

0 commit comments

Comments
 (0)