Refactor filters from crud model to get/set model with objects repres… · PrasadAditBOS/PowerBI-JavaScript@97d2dcd · GitHub
Skip to content

Commit 97d2dcd

Browse files
author
Matt Mazzola
authored
Refactor filters from crud model to get/set model with objects representing each level instead of targets. (microsoft#24)
Refactor filters from crud model to get/set model with objects representing each level instead of targets. * Update Service class to implement IService * Add more tests for Page and Visual for SDK to MockApp * Change getPages and getVisuals to return concrete classes instead of node interfaces * Change IReport, IPage, IVisual to use Node suffix to make it clear they are not interface for class, but for traversing tree * Cleanup on tests in attempt to fix error. * Attempt to fix tests by using jasmine.objectContaining when comparing object equality in catch blocks. * Update load documentation to use filters array
1 parent aa88300 commit 97d2dcd

13 files changed

Lines changed: 2094 additions & 3686 deletions

File tree

.vscode/settings.json

Lines changed: 5 additions & 0 deletions

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
},
6767
"dependencies": {
6868
"http-post-message": "^0.2.0",
69-
"powerbi-models": "^0.5.0",
69+
"powerbi-models": "^0.7.2",
7070
"powerbi-router": "^0.1.2",
7171
"window-post-message-proxy": "^0.2.1"
7272
},

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const config = {
2-
version: '2.0.0-beta.7',
2+
version: '2.0.0-beta.8',
33
type: 'js'
44
};
55

src/embed.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,11 @@ export abstract class Embed {
9797
* navContentPaneEnabled: false
9898
* },
9999
* pageName: "DefaultPage",
100-
* filte: "DefaultReportFilter"
100+
* filters: [
101+
* {
102+
* ... DefaultReportFilter ...
103+
* }
104+
* ]
101105
* })
102106
* .catch(error => { ... });
103107
* ```
@@ -109,7 +113,10 @@ export abstract class Embed {
109113
}
110114

111115
return this.service.hpm.post<void>('/report/load', config, { uid: this.config.uniqueId }, this.iframe.contentWindow)
112-
.catch(response => {
116+
.then(response => {
117+
return response.body;
118+
},
119+
response => {
113120
throw response.body;
114121
});
115122
}

src/ifilterable.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import * as models from 'powerbi-models';
2+
3+
export interface IFilterable {
4+
getFilters(): Promise<(models.IBasicFilter | models.IAdvancedFilter)[]>;
5+
setFilters(filters: (models.IBasicFilter | models.IAdvancedFilter)[]): Promise<void>;
6+
removeFilters(): Promise<void>;
7+
}

src/page.ts

Lines changed: 121 additions & 0 deletions

0 commit comments

Comments
 (0)