Skip to content

Commit d5efb92

Browse files
committed
Merged PR 15951: Clone visual API.
Clones a visual into active page.
1 parent 0da3899 commit d5efb92

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
lines changed

dist/powerbi-client.d.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,12 @@ declare module "visualDescriptor" {
572572
* @returns {(Promise<models.ISlicerState>)}
573573
*/
574574
getSlicerState(): Promise<models.ISlicerState>;
575+
/**
576+
* Clone existing visual to a new instance.
577+
*
578+
* @returns {(Promise<models.ICloneVisualResponse>)}
579+
*/
580+
clone(request?: models.ICloneVisualRequest): Promise<models.ICloneVisualResponse>;
575581
}
576582
}
577583
declare module "page" {

dist/powerbi.js

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/powerbi.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/visualDescriptor.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,17 @@ export class VisualDescriptor implements IVisualNode, IFilterable {
175175
throw response.body;
176176
});
177177
}
178+
179+
/**
180+
* Clone existing visual to a new instance.
181+
*
182+
* @returns {(Promise<models.ICloneVisualResponse>)}
183+
*/
184+
clone(request: models.ICloneVisualRequest = {}): Promise<models.ICloneVisualResponse> {
185+
return this.page.report.service.hpm.post<models.ICloneVisualResponse>(`/report/pages/${this.page.name}/visuals/${this.name}/clone`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)
186+
.then(response => response.body,
187+
response => {
188+
throw response.body;
189+
});
190+
}
178191
}

0 commit comments

Comments
 (0)