Skip to content

Commit 3a71080

Browse files
committed
Merged PR 25222: Add GetVisuals to SDK and live sample.
1 parent 7f3c5ab commit 3a71080

25 files changed

+465
-191
lines changed

demo/code-demo/settings_interact.html

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,40 +23,40 @@
2323
<div id="report-operations-div" class="operations-div">
2424
<ul class="function-ul">
2525
<li class="active" onclick="Report_GetId()">Get Id</li>
26-
<li class="" onclick="Report_GetPages()">Get pages</li>
27-
<li class="" onclick="Report_SetPage()">Set page</li>
28-
<li class="" onclick="Report_SetFilters()">Set filters</li>
29-
<li class="" onclick="Report_GetFilters()">Get filters</li>
30-
<li class="" onclick="Report_RemoveFilters()">Remove filters</li>
31-
<li class="" onclick="Report_PrintCurrentReport()">Print</li>
32-
<li class="" onclick="Report_UpdateSettings()">Update settings</li>
33-
<li class="" onclick="Report_Reload()">Reload</li>
34-
<li class="" onclick="Report_Refresh()">Refresh</li>
35-
<li class="" onclick="Report_FullScreen()">Full screen</li>
36-
<li class="" onclick="Report_ExitFullScreen()">Exit full screen</li>
26+
<li onclick="Report_GetPages()">Get pages</li>
27+
<li onclick="Report_SetPage()">Set page</li>
28+
<li onclick="Report_SetFilters()">Set filters</li>
29+
<li onclick="Report_GetFilters()">Get filters</li>
30+
<li onclick="Report_RemoveFilters()">Remove filters</li>
31+
<li onclick="Report_PrintCurrentReport()">Print</li>
32+
<li onclick="Report_UpdateSettings()">Update settings</li>
33+
<li onclick="Report_Reload()">Reload</li>
34+
<li onclick="Report_Refresh()">Refresh</li>
35+
<li onclick="Report_FullScreen()">Full screen</li>
36+
<li onclick="Report_ExitFullScreen()">Exit full screen</li>
3737
</ul>
3838
</div>
3939
<div id="page-operations-div" class="operations-div" style="display: none;">
4040
<ul class="function-ul">
4141
<li class="active" onclick="Page_SetActive()">Set Active</li>
42-
<li class="" onclick="Page_SetFilters()">Set Filters</li>
43-
<li class="" onclick="Page_GetFilters()">Get Filters</li>
44-
<li class="" onclick="Page_RemoveFilters()">Remove Filters</li>
42+
<li onclick="Page_SetFilters()">Set Filters</li>
43+
<li onclick="Page_GetFilters()">Get Filters</li>
44+
<li onclick="Page_RemoveFilters()">Remove Filters</li>
4545
</ul>
4646
</div>
4747
<div id="events-operations-div" class="operations-div" style="display: none;">
4848
<ul class="function-ul">
4949
<li class="active" onclick="Events_PageChanged()">Page Changed</li>
50-
<li class="" onclick="Events_DataSelected()">Data Selected</li>
51-
<li class="" onclick="Events_SaveAsTriggered()">SaveAs Triggered</li>
50+
<li onclick="Events_DataSelected()">Data Selected</li>
51+
<li onclick="Events_SaveAsTriggered()">SaveAs Triggered</li>
5252
</ul>
5353
</div>
5454
<div id="editandsave-operations-div" class="operations-div" style="display: none;">
5555
<ul class="function-ul">
56-
<li class="" onclick="Report_switchModeEdit()">Enter edit mode</li>
57-
<li class="" onclick="Report_switchModeView()">Enter view mode</li>
58-
<li class="" onclick="Report_save()">Save report</li>
59-
<li class="" onclick="Report_saveAs()">SaveAs report</li>
56+
<li onclick="Report_switchModeEdit()">Enter edit mode</li>
57+
<li onclick="Report_switchModeView()">Enter view mode</li>
58+
<li onclick="Report_save()">Save report</li>
59+
<li onclick="Report_saveAs()">SaveAs report</li>
6060
</ul>
6161
</div>
6262
</div>

demo/dataselection.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1717

1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
20-
<li id="pageLinkStatic" class=""><a href="index.html">Scenario 1: Static Embed</a></li>
21-
<li id="pageLinkDynamic" class=""><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22-
<li id="pageLinkPageNav" class=""><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23-
<li id="pageLinkFilters" class=""><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24-
<li id="pageLinkDefaults" class=""><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25-
<li id="pageLinkSettings" class=""><a href="settings.html">Scenario 6: Update Settings</a></li>
20+
<li id="pageLinkStatic"><a href="index.html">Scenario 1: Static Embed</a></li>
21+
<li id="pageLinkDynamic"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22+
<li id="pageLinkPageNav"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23+
<li id="pageLinkFilters"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24+
<li id="pageLinkDefaults"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25+
<li id="pageLinkSettings"><a href="settings.html">Scenario 6: Update Settings</a></li>
2626
<li id="pageLinkDataSelection" class="active"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

demo/defaults.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1717

1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
20-
<li id="pageLinkStatic" class=""><a href="index.html">Scenario 1: Static Embed</a></li>
21-
<li id="pageLinkDynamic" class=""><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22-
<li id="pageLinkPageNav" class=""><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23-
<li id="pageLinkFilters" class=""><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
20+
<li id="pageLinkStatic"><a href="index.html">Scenario 1: Static Embed</a></li>
21+
<li id="pageLinkDynamic"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22+
<li id="pageLinkPageNav"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23+
<li id="pageLinkFilters"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
2424
<li id="pageLinkDefaults" class="active"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25-
<li id="pageLinkSettings" class=""><a href="settings.html">Scenario 6: Update Settings</a></li>
26-
<li id="pageLinkDataSelection" class=""><a href="dataselection.html">Scenario 7: Data Selection</a></li>
25+
<li id="pageLinkSettings"><a href="settings.html">Scenario 6: Update Settings</a></li>
26+
<li id="pageLinkDataSelection"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

2929
<h2>Default Page and/or Default Filter</h2>

demo/dynamic.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1717

1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
20-
<li id="pageLinkStatic" class=""><a href="index.html">Scenario 1: Static Embed</a></li>
20+
<li id="pageLinkStatic"><a href="index.html">Scenario 1: Static Embed</a></li>
2121
<li id="pageLinkDynamic" class="active"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22-
<li id="pageLinkPageNav" class=""><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23-
<li id="pageLinkFilters" class=""><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24-
<li id="pageLinkDefaults" class=""><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25-
<li id="pageLinkSettings" class=""><a href="settings.html">Scenario 6: Update Settings</a></li>
26-
<li id="pageLinkDataSelection" class=""><a href="dataselection.html">Scenario 7: Data Selection</a></li>
22+
<li id="pageLinkPageNav"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23+
<li id="pageLinkFilters"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24+
<li id="pageLinkDefaults"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25+
<li id="pageLinkSettings"><a href="settings.html">Scenario 6: Update Settings</a></li>
26+
<li id="pageLinkDataSelection"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

2929
<h2>Dynamic Embed</h2>

demo/filters.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1717

1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
20-
<li id="pageLinkStatic" class=""><a href="index.html">Scenario 1: Static Embed</a></li>
21-
<li id="pageLinkDynamic" class=""><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22-
<li id="pageLinkPageNav" class=""><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
20+
<li id="pageLinkStatic"><a href="index.html">Scenario 1: Static Embed</a></li>
21+
<li id="pageLinkDynamic"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22+
<li id="pageLinkPageNav"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
2323
<li id="pageLinkFilters" class="active"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24-
<li id="pageLinkDefaults" class=""><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25-
<li id="pageLinkSettings" class=""><a href="settings.html">Scenario 6: Update Settings</a></li>
26-
<li id="pageLinkDataSelection" class=""><a href="dataselection.html">Scenario 7: Data Selection</a></li>
24+
<li id="pageLinkDefaults"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25+
<li id="pageLinkSettings"><a href="settings.html">Scenario 6: Update Settings</a></li>
26+
<li id="pageLinkDataSelection"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

2929
<h2>Custom Filter Pane</h2>

demo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"fetch": "^1.0.0",
3636
"http-server": "^0.9.0",
3737
"jquery": "^3.1.0",
38-
"powerbi-client": "2.4.3",
38+
"powerbi-client": "2.4.4",
3939
"syntaxhighlighter": "4.0.1"
4040
},
4141
"devDependencies": {}

demo/pagenavigation.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1717

1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
20-
<li id="pageLinkStatic" class=""><a href="index.html">Scenario 1: Static Embed</a></li>
21-
<li id="pageLinkDynamic" class=""><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
20+
<li id="pageLinkStatic"><a href="index.html">Scenario 1: Static Embed</a></li>
21+
<li id="pageLinkDynamic"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
2222
<li id="pageLinkPageNav" class="active"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23-
<li id="pageLinkFilters" class=""><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24-
<li id="pageLinkDefaults" class=""><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25-
<li id="pageLinkSettings" class=""><a href="settings.html">Scenario 6: Update Settings</a></li>
26-
<li id="pageLinkDataSelection" class=""><a href="dataselection.html">Scenario 7: Data Selection</a></li>
23+
<li id="pageLinkFilters"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24+
<li id="pageLinkDefaults"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25+
<li id="pageLinkSettings"><a href="settings.html">Scenario 6: Update Settings</a></li>
26+
<li id="pageLinkDataSelection"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

2929
<h2>Custom Page Navigation</h2>

demo/settings.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1717

1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
20-
<li id="pageLinkStatic" class=""><a href="index.html">Scenario 1: Static Embed</a></li>
21-
<li id="pageLinkDynamic" class=""><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22-
<li id="pageLinkPageNav" class=""><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23-
<li id="pageLinkFilters" class=""><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24-
<li id="pageLinkDefaults" class=""><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
20+
<li id="pageLinkStatic"><a href="index.html">Scenario 1: Static Embed</a></li>
21+
<li id="pageLinkDynamic"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22+
<li id="pageLinkPageNav"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23+
<li id="pageLinkFilters"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24+
<li id="pageLinkDefaults"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
2525
<li id="pageLinkSettings" class="active"><a href="settings.html">Scenario 6: Update Settings</a></li>
26-
<li id="pageLinkDataSelection" class=""><a href="dataselection.html">Scenario 7: Data Selection</a></li>
26+
<li id="pageLinkDataSelection"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

2929
<h2>Update Settings</h2>

demo/static.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ <h1>Power BI - Sample - Client - Javascript</h1>
1818
<h2>Scenarios:</h2>
1919
<ul id="navigation" class="nav nav-pills">
2020
<li id="pageLinkStatic" class="active"><a href="index.html">Scenario 1: Static Embed</a></li>
21-
<li id="pageLinkDynamic" class=""><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22-
<li id="pageLinkPageNav" class=""><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23-
<li id="pageLinkFilters" class=""><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24-
<li id="pageLinkDefaults" class=""><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25-
<li id="pageLinkSettings" class=""><a href="settings.html">Scenario 6: Update Settings</a></li>
26-
<li id="pageLinkDataSelection" class=""><a href="dataselection.html">Scenario 7: Data Selection</a></li>
21+
<li id="pageLinkDynamic"><a href="dynamic.html">Scenario 2: Dynamic Embed</a></li>
22+
<li id="pageLinkPageNav"><a href="pagenavigation.html">Scenario 3: Custom Page Navigation</a></li>
23+
<li id="pageLinkFilters"><a href="filters.html">Scenario 4: Custom Filter Pane</a></li>
24+
<li id="pageLinkDefaults"><a href="defaults.html">Scenario 5: Default Page and/or Filter</a></li>
25+
<li id="pageLinkSettings"><a href="settings.html">Scenario 6: Update Settings</a></li>
26+
<li id="pageLinkDataSelection"><a href="dataselection.html">Scenario 7: Data Selection</a></li>
2727
</ul>
2828

2929
<h2>Static Embed</h2>

demo/v2-demo/scripts/codesamples.js

Lines changed: 72 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -894,19 +894,60 @@ function _Page_GetFilters() {
894894
// Retrieve the page collection and get the filters for the first page.
895895
report.getPages()
896896
.then(function (pages) {
897-
pages[0].getFilters()
898-
.then(function (filters) {
899-
Log.log(filters);
900-
})
901-
.catch(function (errors) {
902-
Log.log(errors);
903-
});
897+
// Retrieve active page.
898+
var activePage = pages.find(function(page) {
899+
return page.isActive
900+
});
901+
902+
activePage.getFilters()
903+
.then(function (filters) {
904+
Log.log(filters);
905+
})
906+
.catch(function (errors) {
907+
Log.log(errors);
908+
});
904909
})
905910
.catch(function (errors) {
906911
Log.log(errors);
907912
});
908913
}
909914

915+
function _Page_GetVisuals() {
916+
// Get a reference to the embedded report HTML element
917+
var embedContainer = $('#embedContainer')[0];
918+
919+
// Get a reference to the embedded report.
920+
report = powerbi.get(embedContainer);
921+
922+
// Retrieve the page collection and get the visuals for the first page.
923+
report.getPages()
924+
.then(function (pages) {
925+
// Retrieve active page.
926+
var activePage = pages.find(function(page) {
927+
return page.isActive
928+
});
929+
930+
activePage.getVisuals()
931+
.then(function (visuals) {
932+
Log.log(
933+
visuals.map(function(visual) {
934+
return {
935+
name: visual.name,
936+
type: visual.type,
937+
title: visual.title,
938+
layout: visual.layout
939+
};
940+
}));
941+
})
942+
.catch(function (errors) {
943+
Log.log(errors);
944+
});
945+
})
946+
.catch(function (errors) {
947+
Log.log(errors);
948+
});
949+
}
950+
910951
function _Page_SetFilters() {
911952
// Get a reference to the embedded report HTML element
912953
var embedContainer = $('#embedContainer')[0];
@@ -930,13 +971,18 @@ function _Page_SetFilters() {
930971
// Pay attention that setFilters receives an array.
931972
report.getPages()
932973
.then(function (pages) {
933-
pages[0].setFilters([filter])
934-
.then(function (result) {
935-
Log.log(result);
936-
})
937-
.catch(function (errors) {
938-
Log.log(errors);
939-
});
974+
// Retrieve active page.
975+
var activePage = pages.find(function(page) {
976+
return page.isActive
977+
});
978+
979+
activePage.setFilters([filter])
980+
.then(function (result) {
981+
Log.log(result);
982+
})
983+
.catch(function (errors) {
984+
Log.log(errors);
985+
});
940986
})
941987
.catch(function (errors) {
942988
Log.log(errors);
@@ -953,13 +999,18 @@ function _Page_RemoveFilters() {
953999
// Retrieve the page collection and remove the filters for the first page.
9541000
report.getPages()
9551001
.then(function (pages) {
956-
pages[0].removeFilters()
957-
.then(function (result) {
958-
Log.log(result);
959-
})
960-
.catch(function (errors) {
961-
Log.log(errors);
962-
});
1002+
// Retrieve active page.
1003+
var activePage = pages.find(function(page) {
1004+
return page.isActive
1005+
});
1006+
1007+
activePage.removeFilters()
1008+
.then(function (result) {
1009+
Log.log(result);
1010+
})
1011+
.catch(function (errors) {
1012+
Log.log(errors);
1013+
});
9631014
})
9641015
.catch(function (errors) {
9651016
Log.log(errors);

0 commit comments

Comments
 (0)