Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb01918a

Browse files
Rashi Krishnaparth-007
Rashi Krishna
authored andcommitted
Merged PR 174902: [JS SDK simplify functions]: Final updated features of JS SDK
## This PR adds the following features in JS SDK:1. Method to move visual - (Report, Page, Visual)2. Method to resize visual - (Report, Page, Visual)3. Method to show/ hide visual - (Report, Page, Visual)4. Method to resize Page - (Report, Page)5. Method to get active page - (Report)6. Method to get slicers - (Page)7. Method to add/ remove context menu - (Report)8. Method to add/ remove options menu - (Report)9. Filter builder classes# 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 managerRelated work items: #556945, #556982, #557990, #558047, #558568, #558774, #559269, #559270, #559675, #560267, #560343, #562588, #562621, #562622, #562623, #562689, #562693, #562694, #563307, #563335, #564462, #564992, #565015, #566324, #566493, #566939, #567286, #570360, #570361, #570466, #570469, #571363, #571440, #572234, #572247, #573012, #573015, #573664, #574414, #574522, #574523, #575744
1 parent01f10a3 commitb01918a

21 files changed

+5136
-250
lines changed

‎dist/powerbi-client.d.ts

Lines changed: 826 additions & 17 deletions
Large diffs are not rendered by default.

‎dist/powerbi.js

Lines changed: 1602 additions & 125 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎dist/powerbi.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"powerbi-client",
3-
"version":"2.18.1",
3+
"version":"2.18.2",
44
"description":"JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.",
55
"main":"dist/powerbi.js",
66
"types":"dist/powerbi-client.d.ts",
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
import{
5+
AdvancedFilter,
6+
IFilterTarget,
7+
AdvancedFilterLogicalOperators,
8+
IAdvancedFilterCondition,
9+
AdvancedFilterConditionOperators
10+
}from"powerbi-models";
11+
12+
import{IFilterBuilder}from'./filterBuilder';
13+
14+
/**
15+
* Power BI Advanced filter builder component
16+
*
17+
*@export
18+
*@class AdvancedFilterBuilder
19+
*@implements {IFilterBuilder}
20+
*/
21+
exportclassAdvancedFilterBuilderimplementsIFilterBuilder{
22+
privatetarget:IFilterTarget;
23+
privatelogicalOperator:AdvancedFilterLogicalOperators;
24+
privateconditions:IAdvancedFilterCondition[]=[];
25+
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+
returnthis;
39+
}
40+
41+
/**
42+
* Sets target property for Advanced filter with target object
43+
*
44+
* ```javascript
45+
* const target = {
46+
* table: 'table1',
47+
* column: 'column1'
48+
* };
49+
*
50+
* const advancedFilterBuilder = new AdvancedFilterBuilder().withTargetObject(target);
51+
* ```
52+
*
53+
*@returns {AdvancedFilterBuilder}
54+
*/
55+
withTargetObject(target:IFilterTarget):AdvancedFilterBuilder{
56+
this.target=target;
57+
returnthis;
58+
}
59+
60+
/**
61+
* Sets And as logical operator for Advanced filter
62+
*
63+
* ```javascript
64+
*
65+
* const advancedFilterBuilder = new AdvancedFilterBuilder().and();
66+
* ```
67+
*
68+
*@returns {AdvancedFilterBuilder}
69+
*/
70+
and():AdvancedFilterBuilder{
71+
this.logicalOperator="And";
72+
returnthis;
73+
}
74+
75+
/**
76+
* Sets Or as logical operator for Advanced filter
77+
*
78+
* ```javascript
79+
*
80+
* const advancedFilterBuilder = new AdvancedFilterBuilder().or();
81+
* ```
82+
*
83+
*@returns {AdvancedFilterBuilder}
84+
*/
85+
or():AdvancedFilterBuilder{
86+
this.logicalOperator="Or";
87+
returnthis;
88+
}
89+
90+
/**
91+
* Adds a condition in Advanced filter
92+
*
93+
* ```javascript
94+
*
95+
* // Add two conditions
96+
* const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park");
97+
* ```
98+
*
99+
*@returns {AdvancedFilterBuilder}
100+
*/
101+
addCondition(operator:AdvancedFilterConditionOperators,value?:(string|number|boolean|Date)):AdvancedFilterBuilder{
102+
constcondition:IAdvancedFilterCondition={
103+
operator:operator,
104+
value:value
105+
};
106+
this.conditions.push(condition);
107+
returnthis;
108+
}
109+
110+
/**
111+
* Creates Advanced filter
112+
*
113+
* ```javascript
114+
*
115+
* const advancedFilterBuilder = new AdvancedFilterBuilder().build();
116+
* ```
117+
*
118+
*@returns {AdvancedFilter}
119+
*/
120+
build():AdvancedFilter{
121+
constadvancedFilter=newAdvancedFilter(this.target,this.logicalOperator,this.conditions);
122+
returnadvancedFilter;
123+
}
124+
}
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
import{
5+
BasicFilter,
6+
BasicFilterOperators,
7+
IFilterTarget
8+
}from"powerbi-models";
9+
10+
import{IFilterBuilder}from'./filterBuilder';
11+
12+
/**
13+
* Power BI Basic filter builder component
14+
*
15+
*@export
16+
*@class BasicFilterBuilder
17+
*@implements {IFilterBuilder}
18+
*/
19+
exportclassBasicFilterBuilderimplementsIFilterBuilder{
20+
privatetarget:IFilterTarget;
21+
privatevalues:Array<(string|number|boolean)>;
22+
privateoperator:BasicFilterOperators;
23+
privateisRequireSingleSelection=false;
24+
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+
returnthis;
38+
}
39+
40+
/**
41+
* Sets target property for Basic filter with target object
42+
*
43+
* ```javascript
44+
* const target = {
45+
* table: 'table1',
46+
* column: 'column1'
47+
* };
48+
*
49+
* const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target);
50+
* ```
51+
*
52+
*@returns {BasicFilterBuilder}
53+
*/
54+
withTargetObject(target:IFilterTarget):BasicFilterBuilder{
55+
this.target=target;
56+
returnthis;
57+
}
58+
59+
/**
60+
* Sets In as operator for Basic filter
61+
*
62+
* ```javascript
63+
*
64+
* const basicFilterBuilder = new BasicFilterBuilder().in([values]);
65+
* ```
66+
*
67+
*@returns {BasicFilterBuilder}
68+
*/
69+
in(values:Array<(string|number|boolean)>):BasicFilterBuilder{
70+
this.operator="In";
71+
this.values=values;
72+
returnthis;
73+
}
74+
75+
/**
76+
* Sets NotIn as operator for Basic filter
77+
*
78+
* ```javascript
79+
*
80+
* const basicFilterBuilder = new BasicFilterBuilder().notIn([values]);
81+
* ```
82+
*
83+
*@returns {BasicFilterBuilder}
84+
*/
85+
notIn(values:Array<(string|number|boolean)>):BasicFilterBuilder{
86+
this.operator="NotIn";
87+
this.values=values;
88+
returnthis;
89+
}
90+
91+
/**
92+
* Sets All as operator for Basic filter
93+
*
94+
* ```javascript
95+
*
96+
* const basicFilterBuilder = new BasicFilterBuilder().all();
97+
* ```
98+
*
99+
*@returns {BasicFilterBuilder}
100+
*/
101+
all():BasicFilterBuilder{
102+
this.operator="All";
103+
this.values=[];
104+
returnthis;
105+
}
106+
107+
/**
108+
* Sets required single selection property for Basic filter
109+
*
110+
* ```javascript
111+
*
112+
* const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection);
113+
* ```
114+
*
115+
*@returns {BasicFilterBuilder}
116+
*/
117+
requireSingleSelection(isRequireSingleSelection=false):BasicFilterBuilder{
118+
this.isRequireSingleSelection=isRequireSingleSelection;
119+
returnthis;
120+
}
121+
122+
/**
123+
* Creates Basic filter
124+
*
125+
* ```javascript
126+
*
127+
* const basicFilterBuilder = new BasicFilterBuilder().build();
128+
* ```
129+
*
130+
*@returns {BasicFilter}
131+
*/
132+
build():BasicFilter{
133+
constbasicFilter=newBasicFilter(this.target,this.operator,this.values);
134+
basicFilter.requireSingleSelection=this.isRequireSingleSelection;
135+
returnbasicFilter;
136+
}
137+
}

‎src/FilterBuilders/filterBuilder.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
import{Filter}from"powerbi-models";
5+
6+
/**
7+
* Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN
8+
*
9+
*@interface IFilterBuilder
10+
*/
11+
exportinterfaceIFilterBuilder{
12+
withTarget(table:string,column:string):IFilterBuilder;
13+
build():Filter;
14+
}

‎src/FilterBuilders/index.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
export{
5+
BasicFilterBuilder
6+
}from"./basicFilterBuilder";
7+
export{
8+
AdvancedFilterBuilder
9+
}from"./advancedFilterBuilder";
10+
export{
11+
TopNFilterBuilder
12+
}from"./topNFilterBuilder";
13+
export{
14+
RelativeDateFilterBuilder
15+
}from"./relativeDateFilterBuilder";
16+
export{
17+
RelativeTimeFilterBuilder
18+
}from"./relativeTimeFilterBuilder";

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp