Skip to content
This repository was archived by the owner on Jul 13, 2022. It is now read-only.

Commit 3c87656

Browse files
author
Anchal Gupta
committed
Merged PR 177491: [JS SDK simplify functions]: Add orderByTarget for TopNFilterBuilder and rename resizePage to resizeActivePage
**This PR adds the following features in JS SDK:** 1. Rename resizePage to resizeActivePage at report level 2. Add orderByTarget method that receives a target so the user can provide a target object, and add the capability to support aggregation targets 3. Removed withTarget method **Checklist** - [X] Build and test scripts are passing, if available - [X] Open errors/warning details are shared with the reviewer - [X] There are no violations to the applicable coding guidelines - [X] Application has a consistent exception management setup - [X] Code does not contain commented code - [X] Is testing performed and results captured in ADO and list of test cases executed shared in PR? - [X] Generic exception type is not handled - [X] Stacktrace of error is not returned - [X] All external packages/libraries are installed from an online package manager Related work items: #600574
1 parent b01918a commit 3c87656

14 files changed

+87
-418
lines changed

dist/powerbi-client.d.ts

+10-69
Original file line numberDiff line numberDiff line change
@@ -1493,7 +1493,7 @@ declare module "report" {
14931493
* Updates the size of active page in report.
14941494
*
14951495
* ```javascript
1496-
* report.resizePage(pageSizeType, width, height)
1496+
* report.resizeActivePage(pageSizeType, width, height)
14971497
* .catch(error => { ... });
14981498
* ```
14991499
*
@@ -1502,7 +1502,7 @@ declare module "report" {
15021502
* @param {number} height
15031503
* @returns {Promise<IHttpPostMessageResponse<void>>}
15041504
*/
1505-
resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise<IHttpPostMessageResponse<void>>;
1505+
resizeActivePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise<IHttpPostMessageResponse<void>>;
15061506
/**
15071507
* Updates the position of a visual in a page.
15081508
*
@@ -2290,14 +2290,14 @@ declare module "factories" {
22902290
export const routerFactory: IRouterFactory;
22912291
}
22922292
declare module "FilterBuilders/filterBuilder" {
2293-
import { Filter } from "powerbi-models";
2293+
import { Filter, IFilterTarget } from "powerbi-models";
22942294
/**
22952295
* Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN
22962296
*
22972297
* @interface IFilterBuilder
22982298
*/
22992299
export interface IFilterBuilder {
2300-
withTarget(table: string, column: string): IFilterBuilder;
2300+
withTargetObject(target: IFilterTarget): IFilterBuilder;
23012301
build(): Filter;
23022302
}
23032303
}
@@ -2316,17 +2316,6 @@ declare module "FilterBuilders/basicFilterBuilder" {
23162316
private values;
23172317
private operator;
23182318
private isRequireSingleSelection;
2319-
/**
2320-
* Sets target property for Basic filter
2321-
*
2322-
* ```javascript
2323-
*
2324-
* const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName);
2325-
* ```
2326-
*
2327-
* @returns {BasicFilterBuilder}
2328-
*/
2329-
withTarget(table: string, column: string): BasicFilterBuilder;
23302319
/**
23312320
* Sets target property for Basic filter with target object
23322321
*
@@ -2413,17 +2402,6 @@ declare module "FilterBuilders/advancedFilterBuilder" {
24132402
private target;
24142403
private logicalOperator;
24152404
private conditions;
2416-
/**
2417-
* Sets target property for Advanced filter
2418-
*
2419-
* ```javascript
2420-
*
2421-
* const advancedFilterBuilder = new AdvancedFilterBuilder().withTarget(tableName, columnName);
2422-
* ```
2423-
*
2424-
* @returns {AdvancedFilterBuilder}
2425-
*/
2426-
withTarget(table: string, column: string): AdvancedFilterBuilder;
24272405
/**
24282406
* Sets target property for Advanced filter with target object
24292407
*
@@ -2487,7 +2465,7 @@ declare module "FilterBuilders/advancedFilterBuilder" {
24872465
}
24882466
}
24892467
declare module "FilterBuilders/topNFilterBuilder" {
2490-
import { IFilterTarget, TopNFilter } from "powerbi-models";
2468+
import { IFilterTarget, ITarget, TopNFilter } from "powerbi-models";
24912469
import { IFilterBuilder } from "FilterBuilders/filterBuilder";
24922470
/**
24932471
* Power BI Top N filter builder component
@@ -2500,18 +2478,7 @@ declare module "FilterBuilders/topNFilterBuilder" {
25002478
private target;
25012479
private itemCount;
25022480
private operator;
2503-
private orderByTarget;
2504-
/**
2505-
* Sets target property for Top N filter
2506-
*
2507-
* ```javascript
2508-
*
2509-
* const topNFilterBuilder = new TopNFilterBuilder().withTarget(tableName, columnName);
2510-
* ```
2511-
*
2512-
* @returns {TopNFilterBuilder}
2513-
*/
2514-
withTarget(table: string, column: string): TopNFilterBuilder;
2481+
private orderByTargetValue;
25152482
/**
25162483
* Sets target property for Top N filter with target object
25172484
*
@@ -2554,12 +2521,12 @@ declare module "FilterBuilders/topNFilterBuilder" {
25542521
*
25552522
* ```javascript
25562523
*
2557-
* const topNFilterBuilder = new TopNFilterBuilder().orderBy(table, measure);
2524+
* const topNFilterBuilder = new TopNFilterBuilder().orderByTarget(target);
25582525
* ```
25592526
*
25602527
* @returns {TopNFilterBuilder}
25612528
*/
2562-
orderBy(table: string, measure: string): TopNFilterBuilder;
2529+
orderByTarget(target: ITarget): TopNFilterBuilder;
25632530
/**
25642531
* Creates Top N filter
25652532
*
@@ -2589,19 +2556,6 @@ declare module "FilterBuilders/relativeDateFilterBuilder" {
25892556
private timeUnitsCount;
25902557
private timeUnitType;
25912558
private isTodayIncluded;
2592-
/**
2593-
* Sets target property for Relative Date filter
2594-
*
2595-
* ```javascript
2596-
*
2597-
* const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTarget(tableName, columnName);
2598-
* ```
2599-
*
2600-
* @param {string} table - Defines the table on which filter will be applied
2601-
* @param {string} column - Defines the column on which filter will be applied
2602-
* @returns {RelativeDateFilterBuilder}
2603-
*/
2604-
withTarget(table: string, column: string): RelativeDateFilterBuilder;
26052559
/**
26062560
* Sets target property for Relative Date filter with target object
26072561
*
@@ -2649,7 +2603,7 @@ declare module "FilterBuilders/relativeDateFilterBuilder" {
26492603
*
26502604
* ```javascript
26512605
*
2652-
* const relativeDateFilterBuilder = new RelativeDateFilterBuilder().orderBy(timeUnitsCount, timeUnitType);
2606+
* const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inNext(timeUnitsCount, timeUnitType);
26532607
* ```
26542608
*
26552609
* @param {number} timeUnitsCount - The amount of time units
@@ -2697,19 +2651,6 @@ declare module "FilterBuilders/relativeTimeFilterBuilder" {
26972651
private operator;
26982652
private timeUnitsCount;
26992653
private timeUnitType;
2700-
/**
2701-
* Sets target property for Relative Time filter
2702-
*
2703-
* ```javascript
2704-
*
2705-
* const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTarget(tableName, columnName);
2706-
* ```
2707-
*
2708-
* @param {string} table - Defines the table on which filter will be applied
2709-
* @param {string} column - Defines the column on which filter will be applied
2710-
* @returns {RelativeTimeFilterBuilder}
2711-
*/
2712-
withTarget(table: string, column: string): RelativeTimeFilterBuilder;
27132654
/**
27142655
* Sets target property for Relative Time filter with target object
27152656
*
@@ -2757,7 +2698,7 @@ declare module "FilterBuilders/relativeTimeFilterBuilder" {
27572698
*
27582699
* ```javascript
27592700
*
2760-
* const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().orderBy(timeUnitsCount, timeUnitType);
2701+
* const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inNext(timeUnitsCount, timeUnitType);
27612702
* ```
27622703
*
27632704
* @param {number} timeUnitsCount - The amount of time units

dist/powerbi.js

+9-83
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/powerbi.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/FilterBuilders/advancedFilterBuilder.ts

-15
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,6 @@ export class AdvancedFilterBuilder implements IFilterBuilder {
2323
private logicalOperator: AdvancedFilterLogicalOperators;
2424
private conditions: IAdvancedFilterCondition[] = [];
2525

26-
/**
27-
* Sets target property for Advanced filter
28-
*
29-
* ```javascript
30-
*
31-
* const advancedFilterBuilder = new AdvancedFilterBuilder().withTarget(tableName, columnName);
32-
* ```
33-
*
34-
* @returns {AdvancedFilterBuilder}
35-
*/
36-
withTarget(table: string, column: string): AdvancedFilterBuilder {
37-
this.target = { table: table, column: column };
38-
return this;
39-
}
40-
4126
/**
4227
* Sets target property for Advanced filter with target object
4328
*

src/FilterBuilders/basicFilterBuilder.ts

-15
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,6 @@ export class BasicFilterBuilder implements IFilterBuilder {
2222
private operator: BasicFilterOperators;
2323
private isRequireSingleSelection = false;
2424

25-
/**
26-
* Sets target property for Basic filter
27-
*
28-
* ```javascript
29-
*
30-
* const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName);
31-
* ```
32-
*
33-
* @returns {BasicFilterBuilder}
34-
*/
35-
withTarget(table: string, column: string): BasicFilterBuilder {
36-
this.target = { table: table, column: column };
37-
return this;
38-
}
39-
4025
/**
4126
* Sets target property for Basic filter with target object
4227
*

0 commit comments

Comments
 (0)