From a64989fd6cb468ef0c1a136eb79cb826283a7b9e Mon Sep 17 00:00:00 2001 From: Gabriel Bourgeois Date: Thu, 11 Oct 2018 23:59:29 -0400 Subject: [PATCH 001/143] Fix bug when multiple embeds have no or duplicated element id This bug caused multiple embeds to break when the elements had no id or duplicated ids. This broke event handling and some interaction features. Change Service.addOrOverwriteEmbed algorithm that compared elements by their id so that it now directly compares elements reference equality. Expand the service init test to include three different tests covering initialization of multiple embeds with different element id configurations (with id, without id*, with duplicated id*) * These two tests will fail without the fix applied to service.ts --- dist/powerbi.js | 2 +- dist/powerbi.min.js | 2 +- src/service.ts | 2 +- test/test.spec.ts | 88 +++++++++++++++++++++++++++++++++++++-------- 4 files changed, 77 insertions(+), 17 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index c2c42fd9..384efe93 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -371,7 +371,7 @@ return /******/ (function(modules) { // webpackBootstrap Service.prototype.addOrOverwriteEmbed = function (component, element) { // remove embeds over the same div element. this.embeds = this.embeds.filter(function (embed) { - return embed.element.id !== element.id; + return embed.element !== element; }); this.embeds.push(component); }; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 6e5a5a41..95ac533e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ /*! powerbi-client v2.6.5 | (c) 2016 Microsoft Corporation MIT */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var a=r(1);e.service=a;var i=r(15);e.factories=i;var o=r(4);e.models=o;var n=r(5);e.Report=n.Report;var l=r(11);e.Dashboard=l.Dashboard;var s=r(12);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(6);e.Page=u.Page;var p=r(13);e.Qna=p.Qna;var c=r(14);e.Visual=c.Visual;var f=r(7);e.VisualDescriptor=f.VisualDescriptor;var h=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=h},function(t,e,r){var a=r(2),i=r(5),o=r(10),n=r(11),l=r(12),s=r(6),d=r(13),u=r(14),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.wpmp=r(i.wpmpName,i.logMessages),this.hpm=e(this.wpmp,null,i.version,i.type),this.router=a(this.wpmp),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,i),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,a=new o.Create(this,r,e);return r.powerBiEmbed=a,this.addOrOverwriteEmbed(a,t),a},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var i=Array.prototype.slice.call(t.querySelectorAll("["+a.Embed.embedUrlAttribute+"]"));return i.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0)},t.prototype.embedInternal=function(t,e,r){void 0===e&&(e={});var a,i=t;return a=i.powerBiEmbed?this.embedExisting(i,e,r):this.embedNew(i,e,r)},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.embedNew=function(e,r,o){var n=r.type||e.getAttribute(a.Embed.typeAttribute);if(!n)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+a.Embed.typeAttribute+'="'+i.Report.type.toLowerCase()+"\"'.");r.type=n;var l=p.find(function(t){return n===t.type.toLowerCase()},t.components);if(!l)throw new Error("Attempted to embed component of type: "+n+" but did not find any matching component. Please verify the type you specified is intended.");var s=new l(this,e,r,o);return e.powerBiEmbed=s,this.addOrOverwriteEmbed(s,e),s},t.prototype.embedExisting=function(t,e,r){var a=p.find(function(e){return e.element===t},this.embeds);if(!a)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==a.config.type){if("report"===e.type&&"create"===a.config.type){var o=new i.Report(this,t,e,(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(a,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return a.load(e,r),a},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var r=t.querySelector("iframe");r&&(void 0!==r.remove?r.remove():r.parentElement.removeChild(r))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var a="newPage",i=r[a];if(!i)throw new Error("Page model not found at 'event.value."+a+"'.");r[a]=new s.Page(e,i.name,i.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var a=e;return a||(a=document.getElementsByTagName("body")[0]),a.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,i.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e0?"&":"?";return t+=a+e+"="+r}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.addParamToUrl=s},function(t,e,r){/*! powerbi-models v1.0.12 | (c) 2016 Microsoft Corporation MIT */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var a=r(1);e.service=a;var i=r(15);e.factories=i;var o=r(4);e.models=o;var n=r(5);e.Report=n.Report;var l=r(11);e.Dashboard=l.Dashboard;var s=r(12);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(6);e.Page=u.Page;var p=r(13);e.Qna=p.Qna;var c=r(14);e.Visual=c.Visual;var f=r(7);e.VisualDescriptor=f.VisualDescriptor;var h=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=h},function(t,e,r){var a=r(2),i=r(5),o=r(10),n=r(11),l=r(12),s=r(6),d=r(13),u=r(14),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.wpmp=r(i.wpmpName,i.logMessages),this.hpm=e(this.wpmp,null,i.version,i.type),this.router=a(this.wpmp),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,i),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,a=new o.Create(this,r,e);return r.powerBiEmbed=a,this.addOrOverwriteEmbed(a,t),a},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var i=Array.prototype.slice.call(t.querySelectorAll("["+a.Embed.embedUrlAttribute+"]"));return i.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0)},t.prototype.embedInternal=function(t,e,r){void 0===e&&(e={});var a,i=t;return a=i.powerBiEmbed?this.embedExisting(i,e,r):this.embedNew(i,e,r)},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.embedNew=function(e,r,o){var n=r.type||e.getAttribute(a.Embed.typeAttribute);if(!n)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+a.Embed.typeAttribute+'="'+i.Report.type.toLowerCase()+"\"'.");r.type=n;var l=p.find(function(t){return n===t.type.toLowerCase()},t.components);if(!l)throw new Error("Attempted to embed component of type: "+n+" but did not find any matching component. Please verify the type you specified is intended.");var s=new l(this,e,r,o);return e.powerBiEmbed=s,this.addOrOverwriteEmbed(s,e),s},t.prototype.embedExisting=function(t,e,r){var a=p.find(function(e){return e.element===t},this.embeds);if(!a)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==a.config.type){if("report"===e.type&&"create"===a.config.type){var o=new i.Report(this,t,e,(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(a,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return a.load(e,r),a},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element!==e}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var r=t.querySelector("iframe");r&&(void 0!==r.remove?r.remove():r.parentElement.removeChild(r))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var a="newPage",i=r[a];if(!i)throw new Error("Page model not found at 'event.value."+a+"'.");r[a]=new s.Page(e,i.name,i.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var a=e;return a||(a=document.getElementsByTagName("body")[0]),a.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,i.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e0?"&":"?";return t+=a+e+"="+r}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.addParamToUrl=s},function(t,e,r){/*! powerbi-models v1.0.12 | (c) 2016 Microsoft Corporation MIT */ !function(e,r){t.exports=r()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){function a(t){return l(t)&&!!t.keys}function i(t){return o(t)===B.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?B.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?B.Advanced:B.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return void 0!==t.table&&void 0!==t.column}function s(t){return void 0!==t.table&&void 0!==t.hierarchy&&void 0!==t.hierarchyLevel}function d(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function u(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(d):void 0}function p(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(d):void 0}function c(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(d):void 0}function f(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(d):void 0}function h(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(d):void 0}function v(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(d):void 0}function y(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(d):void 0}function m(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(d):void 0}function V(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(d):void 0}function g(t){var r=e.Validators.extentionValidator.validate(t);return r?r.map(d):void 0}function w(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(d):void 0}function b(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(d):void 0}function E(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(d):void 0}function O(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(d):void 0}function _(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(d):void 0}function T(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(d):void 0}function P(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(d):void 0}function S(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(d):void 0}function k(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(d):void 0}function A(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(d):void 0}function F(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(d):void 0}function x(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(d):void 0}var R=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var q;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(q=e.TraceType||(e.TraceType={}));var M;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(M=e.PageSizeType||(e.PageSizeType={}));var C;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(C=e.DisplayOption||(e.DisplayOption={}));var I;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(I=e.BackgroundType||(e.BackgroundType={}));var j;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(j=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var N;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(N=e.LayoutType||(e.LayoutType={}));var L;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(L=e.SectionVisibility||(e.SectionVisibility={}));var U;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(U=e.Permissions||(e.Permissions={}));var D;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(D=e.ViewMode||(e.ViewMode={}));var W;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(W=e.TokenType||(e.TokenType={}));var B;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN"}(B=e.FilterType||(e.FilterType={}));var H;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears"}(H=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var z;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(z=e.RelativeDateOperators||(e.RelativeDateOperators={}));var J=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){return{$schema:this.schemaUrl,target:this.target,filterType:this.filterType}},t}();e.Filter=J;var Y=function(t){function e(r,a,i){var o=t.call(this,r,B.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(J);e.NotSupportedFilter=Y;var Q=function(t){function e(r,a,i){var o=t.call(this,r,B.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(J);e.IncludeExcludeFilter=Q;var G=function(t){function e(r,a,i){var o=t.call(this,r,B.TopN)||this;return o.operator=a,o.itemCount=i,o.schemaUrl=e.schemaUrl,o}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(J);e.TopNFilter=G;var $=function(t){function e(r,a,i,o,n){var l=t.call(this,r,B.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(J);e.RelativeDateFilter=$;var K=function(t){function e(r,a){for(var i=[],o=2;o0&&!i)throw new Error("You shold pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&i&&i.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===l.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(J);e.AdvancedFilter=Z,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchy=s;var tt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(tt=e.QnaMode||(e.QnaMode={}));var et;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(et=e.ExportDataType||(e.ExportDataType={}));var rt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(rt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"};var at=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=at;var it=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(at);e.VisualSelector=it;var ot=function(t){function e(e){var r=t.call(this,it.schemaUrl)||this;return r.visualType=e,r}return R(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(at);e.VisualTypeSelector=ot,e.validateVisualSelector=u,e.validateSlicer=p,e.validateSlicerState=c,e.validatePlayBookmarkRequest=f,e.validateAddBookmarkRequest=h,e.validateApplyBookmarkByNameRequest=v,e.validateApplyBookmarkStateRequest=y,e.validateSettings=m,e.validateCustomPageSize=V,e.validateExtension=g,e.validateReportLoad=w,e.validateCreateReport=b,e.validateDashboardLoad=E,e.validateTileLoad=O,e.validatePage=_,e.validateFilter=T,e.validateSaveAsParameters=P,e.validateLoadQnaConfiguration=S,e.validateQnaInterpretInputData=k,e.validateExportDataRequest=A,e.validateVisualHeader=F,e.validateVisualSettings=x},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(20),E=r(21),O=r(22),_=r(22),T=r(22);e.Validators={advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator]),anyValueValidator:new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),basicFilterTypeValidator:new a.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new a.EnumValidator([0,1]),booleanArrayValidator:new a.BooleanArrayValidator,booleanValidator:new a.BooleanValidator,commandExtensionValidator:new i.CommandExtensionValidator,conditionItemValidator:new l.ConditionItemValidator,customLayoutValidator:new V.CustomLayoutValidator,customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customPageSizeValidator:new h.CustomPageSizeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new V.DisplayStateValidator,exportDataRequestValidator:new g.ExportDataRequestValidator,extensionPointsValidator:new i.ExtensionPointsValidator,extentionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extentionValidator:new i.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new a.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new a.EnumValidator([3]),layoutTypeValidator:new a.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new i.MenuExtensionValidator,notSupportedFilterTypeValidator:new a.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new a.NumberArrayValidator,numberValidator:new a.NumberValidator,pageLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.VisualLayoutValidator]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),permissionsValidator:new a.EnumValidator([0,1,2,4,7]),qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new a.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new a.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new a.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,settingsValidator:new o.SettingsValidator,slicerValidator:new E.SlicerValidator,slicerStateValidator:new E.SlicerStateValidator,stringArrayValidator:new a.StringArrayValidator,stringValidator:new a.StringValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new a.EnumValidator([0,1]),topNFilterTypeValidator:new a.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new a.EnumValidator([0,1]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualLayoutValidator:new V.VisualLayoutValidator,visualHeadersValidator:new a.ArrayValidator([new _.VisualHeaderValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualSelectorValidator:new w.VisualSelectorValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,visualSettingsValidator:new T.VisualSettingsValidator}},function(t,e){var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=a;var i=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var a=0;a', - '
', - ]; + describe('embeds all components found in the DOM', function () { + let powerbi: service.Service; // redefined for this scope - elements.forEach(element => { - $(element).appendTo('#powerbi-fixture'); + beforeEach(function() { + powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); + powerbi.accessToken = 'ABC123'; }); - // Act - powerbi.init(); + afterEach(function () { + powerbi.wpmp.stop(); + powerbi = null; + }); - // Assert - // If embed element has iframe inside it, assume embed action occurred - const iframes = document.querySelectorAll('[powerbi-embed-url] iframe'); - expect(iframes.length).toEqual(2); + it('should work with multiple elements without id', function () { + // Arrange + const elements = [ + '
', + '
', + ]; + + elements.forEach(element => { + $(element).appendTo('#powerbi-fixture'); + }); + + // Act + powerbi.init(); + + // Assert + // If embed element has iframe inside it, assume embed action occurred + const iframes = document.querySelectorAll('[powerbi-embed-url] iframe'); + expect(iframes.length).toEqual(2); + // Check the number of components controlled by powerbi + expect(powerbi.getNumberOfComponents()).toEqual(2); + }); + + it('should work with multiple elements with id', function () { + // Arrange + const elements = [ + '
', + '
', + ]; + + elements.forEach(element => { + $(element).appendTo('#powerbi-fixture'); + }); + + // Act + powerbi.init(); + + // Assert + // If embed element has iframe inside it, assume embed action occurred + const iframes = document.querySelectorAll('[powerbi-embed-url] iframe'); + expect(iframes.length).toEqual(2); + // Check the number of components controlled by powerbi + expect(powerbi.getNumberOfComponents()).toEqual(2); + }); + + it('should work with multiple elements with duplicated id', function () { + // Arrange + const elements = [ + '
', + '
', + ]; + + elements.forEach(element => { + $(element).appendTo('#powerbi-fixture'); + }); + + // Act + powerbi.init(); + + // Assert + // If embed element has iframe inside it, assume embed action occurred + const iframes = document.querySelectorAll('[powerbi-embed-url] iframe'); + expect(iframes.length).toEqual(2); + // Check the number of components controlled by powerbi + expect(powerbi.getNumberOfComponents()).toEqual(2); + }); }); }); From 72a7c5500c1d523f3743c6be7ef85225e5fc857c Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 17 Mar 2020 07:11:18 +0000 Subject: [PATCH 002/143] Merged PR 74973: Update playground to use the latest report-authoring (visual-authoring) version --- demo/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/package.json b/demo/package.json index 560ab48e..61cf943f 100644 --- a/demo/package.json +++ b/demo/package.json @@ -36,7 +36,7 @@ "http-server": "^0.9.0", "jquery": "^3.1.0", "powerbi-client": "file:..", - "powerbi-report-authoring": "^1.0.0", + "powerbi-report-authoring": "^1.0", "syntaxhighlighter": "4.0.1" }, "devDependencies": {} From 64dad8acfa0f7d0f7b1036a00af7b8a6fd0e3dad Mon Sep 17 00:00:00 2001 From: "Prachi Mishra (Maq LLC)" Date: Fri, 20 Mar 2020 05:25:34 +0000 Subject: [PATCH 003/143] Merged PR 75836: [JS SDK documentation]: Marking unwanted modules as hidden Replaced hidden tag with ignore Related work items: #324615 --- src/bookmarksManager.ts | 4 +--- src/config.ts | 4 +--- src/create.ts | 4 +--- src/dashboard.ts | 4 +--- src/defaults.ts | 2 +- src/factories.ts | 2 +- src/ifilterable.ts | 5 ++--- src/page.ts | 5 ++--- src/qna.ts | 5 ++--- src/report.ts | 5 ++--- src/service.ts | 5 ++--- src/tile.ts | 5 ++--- src/visual.ts | 7 +++---- src/visualDescriptor.ts | 5 ++--- 14 files changed, 23 insertions(+), 39 deletions(-) diff --git a/src/bookmarksManager.ts b/src/bookmarksManager.ts index 7437ab9c..77f5c860 100644 --- a/src/bookmarksManager.ts +++ b/src/bookmarksManager.ts @@ -1,6 +1,4 @@ -/** - * @hidden - */ +/** @ignore *//** */ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; diff --git a/src/config.ts b/src/config.ts index 70db0259..83e4c09f 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,4 @@ -/** - * @hidden - */ +/** @ignore *//** */ const config = { version: '2.11.0', type: 'js' diff --git a/src/create.ts b/src/create.ts index d9b8c14b..1301d1ae 100644 --- a/src/create.ts +++ b/src/create.ts @@ -1,6 +1,4 @@ -/** - * @hidden - */ +/** @ignore *//** */ import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; diff --git a/src/dashboard.ts b/src/dashboard.ts index 4c218a1d..15a87117 100644 --- a/src/dashboard.ts +++ b/src/dashboard.ts @@ -1,6 +1,4 @@ -/** - * @hidden - */ +/** @ignore *//** */ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; diff --git a/src/defaults.ts b/src/defaults.ts index e370206c..322cb9ca 100644 --- a/src/defaults.ts +++ b/src/defaults.ts @@ -1,4 +1,4 @@ -/** @hidden */ +/** @ignore *//** */ import * as models from 'powerbi-models'; /** @hidden */ diff --git a/src/factories.ts b/src/factories.ts index b45f2993..b30827ab 100644 --- a/src/factories.ts +++ b/src/factories.ts @@ -1,7 +1,7 @@ /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection - * @hidden */ +/** @ignore *//** */ import { IHpmFactory, IWpmpFactory, IRouterFactory } from './service'; import config from './config'; import * as wpmp from 'window-post-message-proxy'; diff --git a/src/ifilterable.ts b/src/ifilterable.ts index d93bf3fe..8dc5f9fa 100644 --- a/src/ifilterable.ts +++ b/src/ifilterable.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as models from 'powerbi-models'; /** diff --git a/src/page.ts b/src/page.ts index da9fdd76..134906b5 100644 --- a/src/page.ts +++ b/src/page.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import { IFilterable } from './ifilterable'; import { IReportNode } from './report'; import { VisualDescriptor } from './visualDescriptor'; diff --git a/src/qna.ts b/src/qna.ts index 66e88300..b8d0df0d 100644 --- a/src/qna.ts +++ b/src/qna.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; diff --git a/src/report.ts b/src/report.ts index 84abaaaf..9e5fdd29 100644 --- a/src/report.ts +++ b/src/report.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; diff --git a/src/service.ts b/src/service.ts index 57218bfa..053509e0 100644 --- a/src/service.ts +++ b/src/service.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as embed from './embed'; import { Report } from './report'; import { Create } from './create'; diff --git a/src/tile.ts b/src/tile.ts index 7b2fd880..d2506dbe 100644 --- a/src/tile.ts +++ b/src/tile.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; diff --git a/src/visual.ts b/src/visual.ts index 1e4baf35..01de996e 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; @@ -16,7 +15,7 @@ import { Page } from './page'; export class Visual extends Report { /** @hidden */ static type = "visual"; - + /** @hidden */ static GetPagesNotSupportedError = "Get pages is not supported while embedding a visual."; /** @hidden */ diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 48d6e05a..888fd359 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -1,6 +1,5 @@ -/** - * @hidden - */ +/** @ignore *//** */ + import * as models from 'powerbi-models'; import { IFilterable } from './ifilterable'; import { IPageNode, Page } from './page'; From ee0120779bf038ead7fa8761b13ac94e605478a7 Mon Sep 17 00:00:00 2001 From: Parth Mangukiya Date: Tue, 28 Apr 2020 14:24:55 +0000 Subject: [PATCH 004/143] Merged PR 82389: Changed src/embed.ts file to handle FullScreenAPI() | Check | Yes/No/NA | |:------|:------:| |Is the version incremented? |NA| |Are the packages re-created? |NA| |Are the testcases attached? |Yes| |Are the tests executed successfully? |Yes| |Is the code formatted correctly? |Yes| |Are there 0 build and test errors? |Yes| |Is the application tested on all the browsers? |Yes| Related work items: #299174, #353629 --- dist/powerbi-client.d.ts | 56 ++++++++++++---------------------------- dist/powerbi.js | 14 +++++----- src/embed.ts | 4 +-- 3 files changed, 26 insertions(+), 48 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index ce1ff420..070c5070 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -95,9 +95,7 @@ declare module "util" { export function getRandomValue(): number; } declare module "config" { - /** - * @hidden - */ + /** @ignore */ /** */ const config: { version: string; type: string; @@ -105,7 +103,7 @@ declare module "config" { export default config; } declare module "defaults" { - /** @hidden */ + /** @ignore */ /** */ import * as models from 'powerbi-models'; /** @hidden */ export abstract class Defaults { @@ -122,8 +120,8 @@ declare module "embed" { import * as models from 'powerbi-models'; global { interface Document { - mozCancelFullScreen: Function; - msExitFullscreen: Function; + mozCancelFullScreen: any; + msExitFullscreen: any; } interface HTMLIFrameElement { mozRequestFullScreen: Function; @@ -551,9 +549,7 @@ declare module "embed" { } } declare module "ifilterable" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as models from 'powerbi-models'; /** * Decorates embed components that support filters @@ -585,9 +581,7 @@ declare module "ifilterable" { } } declare module "visualDescriptor" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as models from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IPageNode } from "page"; @@ -734,9 +728,7 @@ declare module "visualDescriptor" { } } declare module "page" { - /** - * @hidden - */ + /** @ignore */ /** */ import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -881,9 +873,7 @@ declare module "page" { } } declare module "report" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1146,9 +1136,7 @@ declare module "report" { } } declare module "create" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; @@ -1206,9 +1194,7 @@ declare module "create" { } } declare module "dashboard" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1289,9 +1275,7 @@ declare module "dashboard" { } } declare module "tile" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; @@ -1344,9 +1328,7 @@ declare module "tile" { } } declare module "qna" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; @@ -1397,9 +1379,7 @@ declare module "qna" { } } declare module "visual" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1492,9 +1472,7 @@ declare module "visual" { } } declare module "service" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as embed from "embed"; import * as wpmp from 'window-post-message-proxy'; import * as hpm from 'http-post-message'; @@ -1720,9 +1698,7 @@ declare module "service" { } } declare module "bookmarksManager" { - /** - * @hidden - */ + /** @ignore */ /** */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1814,8 +1790,8 @@ declare module "bookmarksManager" { declare module "factories" { /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection - * @hidden */ + /** @ignore */ /** */ import { IHpmFactory, IWpmpFactory, IRouterFactory } from "service"; export { IHpmFactory, IWpmpFactory, IRouterFactory }; export const hpmFactory: IHpmFactory; diff --git a/dist/powerbi.js b/dist/powerbi.js index 79707b42..0520bcec 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -93,9 +93,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 1 */ /***/ (function(module, exports, __webpack_require__) { - /** - * @hidden - */ + /** @ignore */ /** */ var embed = __webpack_require__(2); var report_1 = __webpack_require__(7); var create_1 = __webpack_require__(12); @@ -1242,9 +1240,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 4 */ /***/ (function(module, exports) { - /** - * @hidden - */ + /** @ignore */ /** */ var config = { version: '2.11.0', type: 'js' @@ -4732,6 +4728,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 7 */ /***/ (function(module, exports, __webpack_require__) { + /** @ignore */ /** */ var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -5174,6 +5171,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 8 */ /***/ (function(module, exports, __webpack_require__) { + /** @ignore */ /** */ var visualDescriptor_1 = __webpack_require__(9); var models = __webpack_require__(5); var utils = __webpack_require__(3); @@ -5325,6 +5323,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 9 */ /***/ (function(module, exports) { + /** @ignore */ /** */ /** * A Power BI visual within a page * @@ -5852,6 +5851,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 14 */ /***/ (function(module, exports, __webpack_require__) { + /** @ignore */ /** */ var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -5946,6 +5946,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 15 */ /***/ (function(module, exports, __webpack_require__) { + /** @ignore */ /** */ var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -6028,6 +6029,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 16 */ /***/ (function(module, exports, __webpack_require__) { + /** @ignore */ /** */ var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/src/embed.ts b/src/embed.ts index 17f6c106..beb6493e 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -8,10 +8,10 @@ import { EmbedUrlNotSupported } from './errors'; declare global { interface Document { // Mozilla Fullscreen - mozCancelFullScreen: Function; + mozCancelFullScreen: any; // Ms Fullscreen - msExitFullscreen: Function; + msExitFullscreen: any; } interface HTMLIFrameElement { From d635633177e820dd9553938116fb69326635467c Mon Sep 17 00:00:00 2001 From: Mayur Garhwal Date: Thu, 30 Apr 2020 11:15:00 +0000 Subject: [PATCH 005/143] Merged PR 84213: Create JEDI CDPx pipeline for powerbi-javascript Old abandoned PR: https://dev.azure.com/powerbi/Embedded/_git/powerbi-javascript/pullrequest/83384 Related work items: #353647 --- .pipelines/build.ps1 | 13 +++++ .pipelines/cdpx_run_ps.cmd | 6 ++ .pipelines/nuget_pack.ps1 | 11 ++++ .pipelines/package.ps1 | 13 +++++ .pipelines/pipeline.user.windows.yml | 82 ++++++++++++++++++++++++++++ .pipelines/restore.ps1 | 26 +++++++++ .pipelines/test.ps1 | 9 +++ .pipelines/version.ps1 | 15 +++++ package.json | 3 +- 9 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 .pipelines/build.ps1 create mode 100644 .pipelines/cdpx_run_ps.cmd create mode 100644 .pipelines/nuget_pack.ps1 create mode 100644 .pipelines/package.ps1 create mode 100644 .pipelines/pipeline.user.windows.yml create mode 100644 .pipelines/restore.ps1 create mode 100644 .pipelines/test.ps1 create mode 100644 .pipelines/version.ps1 diff --git a/.pipelines/build.ps1 b/.pipelines/build.ps1 new file mode 100644 index 00000000..a32fe43d --- /dev/null +++ b/.pipelines/build.ps1 @@ -0,0 +1,13 @@ +$exitCode = 0; + +Write-Host "start: npm run build" +& npm run build +Write-Host "done: npm run build" + +$exitCode += $LASTEXITCODE; + +Write-Host "start: Get dist folder files" +& dir "dist" +Write-Host "Done: Get dist folder files" + +exit $exitCode \ No newline at end of file diff --git a/.pipelines/cdpx_run_ps.cmd b/.pipelines/cdpx_run_ps.cmd new file mode 100644 index 00000000..64ddad9f --- /dev/null +++ b/.pipelines/cdpx_run_ps.cmd @@ -0,0 +1,6 @@ +setlocal enabledelayedexpansion +pushd "%~dp0\.." +powershell.exe -ExecutionPolicy Unrestricted -NoProfile -WindowStyle Hidden -NonInteractive -File "%~dp0%~1" +endlocal +popd +exit /B %ERRORLEVEL% diff --git a/.pipelines/nuget_pack.ps1 b/.pipelines/nuget_pack.ps1 new file mode 100644 index 00000000..a77d18f7 --- /dev/null +++ b/.pipelines/nuget_pack.ps1 @@ -0,0 +1,11 @@ +Write-Host "Start running nuget_pack.ps1" + +$versionNumber = [Environment]::GetEnvironmentVariable("CustomBuildNumber", "User"); +$exitCode = 0; + +Write-Host "Nuget Pack ..\PowerBI.JavaScript.nuspec -Version "$versionNumber +& nuget pack "..\PowerBI.JavaScript.nuspec" -Version $versionNumber + +$exitCode += $LASTEXITCODE; + +exit $exitCode \ No newline at end of file diff --git a/.pipelines/package.ps1 b/.pipelines/package.ps1 new file mode 100644 index 00000000..54401656 --- /dev/null +++ b/.pipelines/package.ps1 @@ -0,0 +1,13 @@ +$exitCode = 0; + +Write-Host "start: npm pack" +& npm pack +Write-Host "done: npm pack" + +$exitCode += $LASTEXITCODE; + +Write-Host "start: Get content of current folder" +& dir +Write-Host "done: Get content of current folder" + +exit $exitCode \ No newline at end of file diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml new file mode 100644 index 00000000..243e296d --- /dev/null +++ b/.pipelines/pipeline.user.windows.yml @@ -0,0 +1,82 @@ +environment: + host: + os: 'windows' + flavor: 'server' + version: '2016' + runtime: + provider: 'appcontainer' + image: 'cdpxwinrs5.azurecr.io/global/vse2019/16.3.7:latest' + source_mode: 'map' + +artifact_publish_options: + publish_to_legacy_artifacts: false + publish_to_pipeline_artifacts: true + publish_to_cloudvault_artifacts: false + +package_sources: + npm: + feeds: + registry: https://powerbi.pkgs.visualstudio.com/_packaging/SDK.Externals/npm/registry/ + +version: + major: 1 # <---- Required field but not being used for 'custom' scheme + minor: 0 # <---- Required field but not being used for 'custom' scheme + system: 'custom' # <---- Set this to 'custom'. we will build the version using package.json in versioning commands. + +versioning: + commands: + - !!defaultcommand + name: 'Set Version' + arguments: 'version.ps1' + command: '.pipelines\cdpx_run_ps.cmd' + +restore: + commands: + - !!defaultcommand + name: 'NPM Install' + arguments: 'restore.ps1' + command: '.pipelines\cdpx_run_ps.cmd' + +build: + commands: + - !!buildcommand + name: 'Build' + arguments: 'build.ps1' + command: '.pipelines\cdpx_run_ps.cmd' + artifacts: + - from: 'dist' + to: 'build_artifacts' + include: + - '**/*' + exclude: + - '**/node_modules/**/*.*' + + - !!buildcommand + name: 'Package' + arguments: 'package.ps1' + command: '.pipelines\cdpx_run_ps.cmd' + artifacts: + - include: + - "**/*.tgz" + + - !!buildcommand + name: 'Nuget Pack' + arguments: 'nuget_pack.ps1' + command: '.pipelines\cdpx_run_ps.cmd' + artifacts: + - to: 'Release' + include: + - "**/*.nupkg" + +test: + commands: + - !!testcommand + name: 'Test powerbi-javascript' + arguments: 'test.ps1' + command: '.pipelines\cdpx_run_ps.cmd' + testresults: + - title: 'powerbi-javascript test results' + type: 'jasmine' + from: 'reports' + include: + - "**coverage/**/index.html" diff --git a/.pipelines/restore.ps1 b/.pipelines/restore.ps1 new file mode 100644 index 00000000..7cea863b --- /dev/null +++ b/.pipelines/restore.ps1 @@ -0,0 +1,26 @@ +Write-Host "Start build ..." +Write-Host "Global node/npm paths ..." +& where.exe npm +& where.exe node + +Write-Host "Global node version" +& node -v + +Write-Host "Global npm version" +& npm -v + +$exitCode = 0; + +Write-Host "start: try install latest npm version" +& npm install npm@latest -g +Write-Host "done: try install latest npm version" + +# Do not update $exitCode because we do not want to fail if install latest npm version fails. + +Write-Host "start: npm install" +& npm install --no-audit --no-save +Write-Host "done: npm install" + +$exitCode += $LASTEXITCODE; + +exit $exitCode \ No newline at end of file diff --git a/.pipelines/test.ps1 b/.pipelines/test.ps1 new file mode 100644 index 00000000..625ca890 --- /dev/null +++ b/.pipelines/test.ps1 @@ -0,0 +1,9 @@ +$exitCode = 0; + +Write-Host "start: npm run test" +& npm run test +Write-Host "done: npm run test" + +$exitCode += $LASTEXITCODE; + +exit $exitCode; \ No newline at end of file diff --git a/.pipelines/version.ps1 b/.pipelines/version.ps1 new file mode 100644 index 00000000..9a138811 --- /dev/null +++ b/.pipelines/version.ps1 @@ -0,0 +1,15 @@ +try { + # package.json is in root folder, while version.ps1 runs in .pipelines folder. + $version = (Get-Content "package.json") -join "`n" | ConvertFrom-Json | Select -ExpandProperty "version" + $revision = $env:CDP_DEFINITION_BUILD_COUNT_DAY + $buildNumber = "$version.$revision" + + Write-Host "Build Number is" $buildNumber + + [Environment]::SetEnvironmentVariable("CustomBuildNumber", $buildNumber, "User") # This will allow you to use it from env var in later steps of the same phase + Write-Host "##vso[build.updatebuildnumber]${buildNumber}" # This will update build number on your build +} +catch { + Write-Error $_.Exception + exit 1; +} diff --git a/package.json b/package.json index 727127cb..f826b0f6 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,7 @@ "scripts": { "build": "gulp build", "start": "http-server ./demo", - "gulpversion": "gulp build && git add .", - "prepublish": "typings install && gulp build", + "postinstall": "typings install", "prestart": "cd demo && npm install", "test": "gulp test", "gulp": "gulp", From d6ff3df118fc656f9f41d2e8d1daab6b271f6d18 Mon Sep 17 00:00:00 2001 From: Liav Zayde Date: Sun, 3 May 2020 07:13:23 +0000 Subject: [PATCH 006/143] Merged PR 82436: [Embed JS] Add getCorrelationId Add support for users to be able to get the correlation id [AKA session ID] for their embed session --- dist/powerbi-client.d.ts | 14 ++++++++++++++ dist/powerbi.js | 19 +++++++++++++++++++ dist/powerbi.min.js | 2 +- src/embed.ts | 21 +++++++++++++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 070c5070..f56ec40e 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -338,6 +338,20 @@ declare module "embed" { * @returns {Promise} */ saveAs(saveAsParameters: models.ISaveAsParameters): Promise; + /** + * Get the correlationId for the current embed session. + * + * ```javascript + * // Get the correlationId for the current embed session + * report.getCorrelationId() + * .then(correlationId => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + getCorrelationId(): Promise; /** * Sends load configuration data. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 0520bcec..376c1f62 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -617,6 +617,25 @@ return /******/ (function(modules) { // webpackBootstrap throw response.body; }); }; + /** + * Get the correlationId for the current embed session. + * + * ```javascript + * // Get the correlationId for the current embed session + * report.getCorrelationId() + * .then(correlationId => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Embed.prototype.getCorrelationId = function () { + return this.service.hpm.get("/getCorrelationId", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; /** * Sends load configuration data. * diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 8a025e9e..560bb8ed 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ /*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var i=r(1);e.service=i;var a=r(17);e.factories=a;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new i.Service(a.hpmFactory,a.wpmpFactory,a.routerFactory);window.powerbi=h},function(t,e,r){var i=r(2),a=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,i,a){var o=this;void 0===a&&(a={}),this.wpmp=r(a.wpmpName,a.logMessages),this.hpm=e(this.wpmp,null,a.version,a.type),this.router=i(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,a),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,i=new o.Create(this,r,e);return r.powerBiEmbed=i,this.addOrOverwriteEmbed(i,t),i},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var a=Array.prototype.slice.call(t.querySelectorAll("["+i.Embed.embedUrlAttribute+"]"));return a.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,i){void 0===e&&(e={});var a,o=t;if(o.powerBiEmbed){if(i)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");a=this.embedExisting(o,e,r)}else a=this.embedNew(o,e,r,i);return a},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(i.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+i.Embed.typeAttribute+'="'+a.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var i=p.find(function(e){return e.element===t},this.embeds);if(!i)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==i.config.type){if("report"===e.type&&"create"===i.config.type){var o=new a.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(i,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return i.populateConfig(e,!1),i.load(i.config,r),i},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var i=t.querySelector("iframe");i&&(void 0!==i.remove?i.remove():i.parentElement.removeChild(i))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var i="newPage",a=r[i];if(!a)throw new Error("Page model not found at 'event.value."+i+"'.");r[i]=new s.Page(e,a.name,a.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var i=e;return i||(i=document.getElementsByTagName("body")[0]),i.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,a.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var i=t.indexOf("?")>0?"&":"?";return t+=i+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=i,e.find=a,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.11.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.3 | (c) 2016 Microsoft Corporation MIT */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var i=r(1);e.service=i;var a=r(17);e.factories=a;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new i.Service(a.hpmFactory,a.wpmpFactory,a.routerFactory);window.powerbi=h},function(t,e,r){var i=r(2),a=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,i,a){var o=this;void 0===a&&(a={}),this.wpmp=r(a.wpmpName,a.logMessages),this.hpm=e(this.wpmp,null,a.version,a.type),this.router=i(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,a),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,i=new o.Create(this,r,e);return r.powerBiEmbed=i,this.addOrOverwriteEmbed(i,t),i},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var a=Array.prototype.slice.call(t.querySelectorAll("["+i.Embed.embedUrlAttribute+"]"));return a.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,i){void 0===e&&(e={});var a,o=t;if(o.powerBiEmbed){if(i)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");a=this.embedExisting(o,e,r)}else a=this.embedNew(o,e,r,i);return a},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(i.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+i.Embed.typeAttribute+'="'+a.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var i=p.find(function(e){return e.element===t},this.embeds);if(!i)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==i.config.type){if("report"===e.type&&"create"===i.config.type){var o=new a.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(i,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return i.populateConfig(e,!1),i.load(i.config,r),i},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var i=t.querySelector("iframe");i&&(void 0!==i.remove?i.remove():i.parentElement.removeChild(i))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var i="newPage",a=r[i];if(!a)throw new Error("Page model not found at 'event.value."+i+"'.");r[i]=new s.Page(e,a.name,a.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var i=e;return i||(i=document.getElementsByTagName("body")[0]),i.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,a.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var i=t.indexOf("?")>0?"&":"?";return t+=i+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=i,e.find=a,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.11.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.3 | (c) 2016 Microsoft Corporation MIT */ !function(e,r){t.exports=r()}(window,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,i){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:i})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(e.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var a in t)e.d(i,a,function(e){return t[e]}.bind(null,a));return i},e.n=function(t){var r=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,r){function i(t){return l(t)&&!!t.keys}function a(t){return o(t)===K.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?K.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?K.Advanced:K.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function s(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function d(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function c(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(p):void 0}function f(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(p):void 0}function h(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function v(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function y(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function m(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(p):void 0}function g(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(p):void 0}function V(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function I(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var q=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var L;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(L=e.TraceType||(e.TraceType={}));var j;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(j=e.PageSizeType||(e.PageSizeType={}));var N;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(N=e.DisplayOption||(e.DisplayOption={}));var D;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(D=e.BackgroundType||(e.BackgroundType={}));var U;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(U=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var B;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(B=e.LayoutType||(e.LayoutType={}));var W;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(W=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var H;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(H=e.SectionVisibility||(e.SectionVisibility={}));var z;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(z=e.Permissions||(e.Permissions={}));var J;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(J=e.ViewMode||(e.ViewMode={}));var Y;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(Y=e.TokenType||(e.TokenType={}));var Q;!function(t){t[t.None=0]="None",t[t.HighContrast1=1]="HighContrast1",t[t.HighContrast2=2]="HighContrast2",t[t.HighContrastBlack=3]="HighContrastBlack",t[t.HighContrastWhite=4]="HighContrastWhite"}(Q=e.ContrastMode||(e.ContrastMode={}));var G;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(G=e.MenuLocation||(e.MenuLocation={}));var $;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}($=e.FiltersLevel||(e.FiltersLevel={}));var K;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN",t[t.Tuple=6]="Tuple"}(K=e.FilterType||(e.FilterType={}));var X;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears"}(X=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var Z;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(Z=e.RelativeDateOperators||(e.RelativeDateOperators={}));var tt=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){var t={$schema:this.schemaUrl,target:this.target,filterType:this.filterType};return void 0!==this.displaySettings&&(t.displaySettings=this.displaySettings),t},t}();e.Filter=tt;var et=function(t){function e(r,i,a){var o=t.call(this,r,K.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(tt);e.NotSupportedFilter=et;var rt=function(t){function e(r,i,a){var o=t.call(this,r,K.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(tt);e.IncludeExcludeFilter=rt;var it=function(t){function e(r,i,a,o){var n=t.call(this,r,K.TopN)||this;return n.operator=i,n.itemCount=a,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e.orderBy=this.orderBy,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(tt);e.TopNFilter=it;var at=function(t){function e(r,i,a,o,n){var l=t.call(this,r,K.RelativeDate)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(tt);e.RelativeDateFilter=at;var ot=function(t){function e(r,i){for(var a=[],o=2;o0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&a&&a.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+a.length);if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(tt);e.AdvancedFilter=st,e.isFilterKeyColumnsTarget=i,e.isBasicFilterWithKeys=a,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var dt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(dt=e.QnaMode||(e.QnaMode={}));var ut;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(ut=e.ExportDataType||(e.ExportDataType={}));var pt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(pt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var ct;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(ct=e.SortDirection||(e.SortDirection={}));var ft=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=ft;var ht=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(ft);e.PageSelector=ht;var vt=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(ft);e.VisualSelector=vt;var yt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.visualType=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(ft);e.VisualTypeSelector=yt;var mt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.target=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(ft);e.SlicerTargetSelector=mt;var gt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(gt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Vt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Vt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var wt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(wt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=g,e.validateSettings=V,e.validateCustomPageSize=w,e.validateExtension=b,e.validateReportLoad=E,e.validateCreateReport=S,e.validateDashboardLoad=O,e.validateTileLoad=P,e.validatePage=T,e.validateFilter=_,e.validateSaveAsParameters=R,e.validateLoadQnaConfiguration=A,e.validateQnaInterpretInputData=C,e.validateExportDataRequest=F,e.validateVisualHeader=k,e.validateVisualSettings=x,e.validateCommandsSettings=I,e.validateCustomTheme=M},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var i=r(2),a=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),O=r(24),P=r(25);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new i.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator]),anyValueValidator:new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new i.EnumValidator([0,1]),basicFilterTypeValidator:new i.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new i.BooleanArrayValidator,booleanValidator:new i.BooleanValidator,commandDisplayOptionValidator:new i.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new a.CommandExtensionValidator,commandsSettingsArrayValidator:new i.ArrayValidator([new S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new i.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new i.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new O.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new P.DatasetBindingValidator,displayStateModeValidator:new i.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new i.ArrayValidator([new a.ExtensionValidator]),extensionPointsValidator:new a.ExtensionPointsValidator,extensionValidator:new a.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new i.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,hyperlinkClickBehaviorValidator:new i.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new i.EnumValidator([3]),layoutTypeValidator:new i.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new a.MenuExtensionValidator,menuLocationValidator:new i.EnumValidator([0,1]),notSupportedFilterTypeValidator:new i.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new i.NumberArrayValidator,numberValidator:new i.NumberValidator,pageLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.VisualLayoutValidator]),pageSizeTypeValidator:new i.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.PageLayoutValidator]),permissionsValidator:new i.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new i.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new i.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new i.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new S.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new i.StringArrayValidator,stringValidator:new i.StringValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new i.EnumValidator([0,1]),topNFilterTypeValidator:new i.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new i.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new E.VisualHeaderSettingsValidator,visualHeaderValidator:new E.VisualHeaderValidator,visualHeadersValidator:new i.ArrayValidator([new E.VisualHeaderValidator]),visualLayoutValidator:new g.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new E.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=i;var a=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var i=0;i { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + getCorrelationId(): Promise { + return this.service.hpm.get(`/getCorrelationId`, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => response.body, + response => { + throw response.body; + }); + } + /** * Sends load configuration data. * From 714f0375c1e83b2db421ddb678c559461b64e237 Mon Sep 17 00:00:00 2001 From: Liav Zayde Date: Wed, 6 May 2020 08:29:58 +0000 Subject: [PATCH 007/143] Merged PR 77328: [Embed JS] Ad support for adding and deleting a page --- dist/powerbi-client.d.ts | 33 ++++++++++++++++++++++ dist/powerbi.js | 61 ++++++++++++++++++++++++++++++++++++++++ dist/powerbi.min.js | 6 ++-- src/page.ts | 20 +++++++++++++ src/report.ts | 44 +++++++++++++++++++++++++++++ test/test.spec.ts | 30 ++++++++++++++++++++ 6 files changed, 191 insertions(+), 3 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index f56ec40e..6a297099 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -830,6 +830,17 @@ declare module "page" { * @returns {(Promise)} */ getFilters(): Promise; + /** + * Delete the page from the report + * + * ```javascript + * // Delete the page from the report + * page.delete(); + * ``` + * + * @returns {Promise} + */ + delete(): Promise; /** * Removes all filters from this page of the report. * @@ -966,6 +977,28 @@ declare module "report" { * @returns {Promise} */ render(config?: IReportLoadConfiguration): Promise; + /** + * Add an empty page to the report + * + * ```javascript + * // Add a page to the report with "Sales" as the page display name + * report.addPage("Sales"); + * ``` + * + * @returns {Promise} + */ + addPage(displayName?: string): Promise; + /** + * Delete a page from a report + * + * ```javascript + * // Delete a page from a report by pageName (PageName is different than the display name and can be acquired from the getPages API) + * report.deletePage("Sales145"); + * ``` + * + * @returns {Promise} + */ + deletePage(pageName?: string): Promise; /** * Gets filters that are applied at the report level. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 376c1f62..9797605a 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -4831,6 +4831,48 @@ return /******/ (function(modules) { // webpackBootstrap throw response.body; }); }; + /** + * Add an empty page to the report + * + * ```javascript + * // Add a page to the report with "Sales" as the page display name + * report.addPage("Sales"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.addPage = function (displayName) { + var _this = this; + var request = { + displayName: displayName + }; + return this.service.hpm.post("/report/addPage", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + var page = response.body; + return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + }, function (response) { + throw response.body; + }); + }; + /** + * Delete a page from a report + * + * ```javascript + * // Delete a page from a report by pageName (PageName is different than the display name and can be acquired from the getPages API) + * report.deletePage("Sales145"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.deletePage = function (pageName) { + return this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; /** * Gets filters that are applied at the report level. * @@ -5239,6 +5281,25 @@ return /******/ (function(modules) { // webpackBootstrap throw response.body; }); }; + /** + * Delete the page from the report + * + * ```javascript + * // Delete the page from the report + * page.delete(); + * ``` + * + * @returns {Promise} + */ + Page.prototype.delete = function () { + return this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; /** * Removes all filters from this page of the report. * diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 560bb8ed..19371467 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,8 +1,8 @@ /*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var i=r(1);e.service=i;var a=r(17);e.factories=a;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new i.Service(a.hpmFactory,a.wpmpFactory,a.routerFactory);window.powerbi=h},function(t,e,r){var i=r(2),a=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,i,a){var o=this;void 0===a&&(a={}),this.wpmp=r(a.wpmpName,a.logMessages),this.hpm=e(this.wpmp,null,a.version,a.type),this.router=i(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,a),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,i=new o.Create(this,r,e);return r.powerBiEmbed=i,this.addOrOverwriteEmbed(i,t),i},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var a=Array.prototype.slice.call(t.querySelectorAll("["+i.Embed.embedUrlAttribute+"]"));return a.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,i){void 0===e&&(e={});var a,o=t;if(o.powerBiEmbed){if(i)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");a=this.embedExisting(o,e,r)}else a=this.embedNew(o,e,r,i);return a},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(i.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+i.Embed.typeAttribute+'="'+a.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var i=p.find(function(e){return e.element===t},this.embeds);if(!i)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==i.config.type){if("report"===e.type&&"create"===i.config.type){var o=new a.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(i,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return i.populateConfig(e,!1),i.load(i.config,r),i},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var i=t.querySelector("iframe");i&&(void 0!==i.remove?i.remove():i.parentElement.removeChild(i))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var i="newPage",a=r[i];if(!a)throw new Error("Page model not found at 'event.value."+i+"'.");r[i]=new s.Page(e,a.name,a.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var i=e;return i||(i=document.getElementsByTagName("body")[0]),i.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,a.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var i=t.indexOf("?")>0?"&":"?";return t+=i+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=i,e.find=a,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.11.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.3 | (c) 2016 Microsoft Corporation MIT */ -!function(e,r){t.exports=r()}(window,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,i){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:i})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(e.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var a in t)e.d(i,a,function(e){return t[e]}.bind(null,a));return i},e.n=function(t){var r=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,r){function i(t){return l(t)&&!!t.keys}function a(t){return o(t)===K.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?K.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?K.Advanced:K.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function s(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function d(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function c(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(p):void 0}function f(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(p):void 0}function h(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function v(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function y(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function m(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(p):void 0}function g(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(p):void 0}function V(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function I(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var q=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var L;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(L=e.TraceType||(e.TraceType={}));var j;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(j=e.PageSizeType||(e.PageSizeType={}));var N;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(N=e.DisplayOption||(e.DisplayOption={}));var D;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(D=e.BackgroundType||(e.BackgroundType={}));var U;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(U=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var B;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(B=e.LayoutType||(e.LayoutType={}));var W;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(W=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var H;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(H=e.SectionVisibility||(e.SectionVisibility={}));var z;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(z=e.Permissions||(e.Permissions={}));var J;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(J=e.ViewMode||(e.ViewMode={}));var Y;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(Y=e.TokenType||(e.TokenType={}));var Q;!function(t){t[t.None=0]="None",t[t.HighContrast1=1]="HighContrast1",t[t.HighContrast2=2]="HighContrast2",t[t.HighContrastBlack=3]="HighContrastBlack",t[t.HighContrastWhite=4]="HighContrastWhite"}(Q=e.ContrastMode||(e.ContrastMode={}));var G;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(G=e.MenuLocation||(e.MenuLocation={}));var $;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}($=e.FiltersLevel||(e.FiltersLevel={}));var K;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN",t[t.Tuple=6]="Tuple"}(K=e.FilterType||(e.FilterType={}));var X;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears"}(X=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var Z;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(Z=e.RelativeDateOperators||(e.RelativeDateOperators={}));var tt=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){var t={$schema:this.schemaUrl,target:this.target,filterType:this.filterType};return void 0!==this.displaySettings&&(t.displaySettings=this.displaySettings),t},t}();e.Filter=tt;var et=function(t){function e(r,i,a){var o=t.call(this,r,K.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(tt);e.NotSupportedFilter=et;var rt=function(t){function e(r,i,a){var o=t.call(this,r,K.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(tt);e.IncludeExcludeFilter=rt;var it=function(t){function e(r,i,a,o){var n=t.call(this,r,K.TopN)||this;return n.operator=i,n.itemCount=a,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e.orderBy=this.orderBy,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(tt);e.TopNFilter=it;var at=function(t){function e(r,i,a,o,n){var l=t.call(this,r,K.RelativeDate)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(tt);e.RelativeDateFilter=at;var ot=function(t){function e(r,i){for(var a=[],o=2;o0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&a&&a.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+a.length);if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(tt);e.AdvancedFilter=st,e.isFilterKeyColumnsTarget=i,e.isBasicFilterWithKeys=a,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var dt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(dt=e.QnaMode||(e.QnaMode={}));var ut;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(ut=e.ExportDataType||(e.ExportDataType={}));var pt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(pt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var ct;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(ct=e.SortDirection||(e.SortDirection={}));var ft=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=ft;var ht=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(ft);e.PageSelector=ht;var vt=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(ft);e.VisualSelector=vt;var yt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.visualType=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(ft);e.VisualTypeSelector=yt;var mt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.target=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(ft);e.SlicerTargetSelector=mt;var gt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(gt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Vt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Vt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var wt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(wt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=g,e.validateSettings=V,e.validateCustomPageSize=w,e.validateExtension=b,e.validateReportLoad=E,e.validateCreateReport=S,e.validateDashboardLoad=O,e.validateTileLoad=P,e.validatePage=T,e.validateFilter=_,e.validateSaveAsParameters=R,e.validateLoadQnaConfiguration=A,e.validateQnaInterpretInputData=C,e.validateExportDataRequest=F,e.validateVisualHeader=k,e.validateVisualSettings=x,e.validateCommandsSettings=I,e.validateCustomTheme=M},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var i=r(2),a=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),O=r(24),P=r(25);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new i.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator]),anyValueValidator:new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new i.EnumValidator([0,1]),basicFilterTypeValidator:new i.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new i.BooleanArrayValidator,booleanValidator:new i.BooleanValidator,commandDisplayOptionValidator:new i.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new a.CommandExtensionValidator,commandsSettingsArrayValidator:new i.ArrayValidator([new S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new i.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new i.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new O.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new P.DatasetBindingValidator,displayStateModeValidator:new i.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new i.ArrayValidator([new a.ExtensionValidator]),extensionPointsValidator:new a.ExtensionPointsValidator,extensionValidator:new a.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new i.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,hyperlinkClickBehaviorValidator:new i.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new i.EnumValidator([3]),layoutTypeValidator:new i.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new a.MenuExtensionValidator,menuLocationValidator:new i.EnumValidator([0,1]),notSupportedFilterTypeValidator:new i.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new i.NumberArrayValidator,numberValidator:new i.NumberValidator,pageLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.VisualLayoutValidator]),pageSizeTypeValidator:new i.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.PageLayoutValidator]),permissionsValidator:new i.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new i.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new i.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new i.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new S.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new i.StringArrayValidator,stringValidator:new i.StringValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new i.EnumValidator([0,1]),topNFilterTypeValidator:new i.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new i.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new E.VisualHeaderSettingsValidator,visualHeaderValidator:new E.VisualHeaderValidator,visualHeadersValidator:new i.ArrayValidator([new E.VisualHeaderValidator]),visualLayoutValidator:new g.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new E.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=i;var a=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var i=0;i0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&a&&a.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+a.length);if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(tt);e.AdvancedFilter=st,e.isFilterKeyColumnsTarget=i,e.isBasicFilterWithKeys=a,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var dt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(dt=e.QnaMode||(e.QnaMode={}));var ut;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(ut=e.ExportDataType||(e.ExportDataType={}));var pt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(pt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var ct;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(ct=e.SortDirection||(e.SortDirection={}));var ft=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=ft;var ht=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(ft);e.PageSelector=ht;var vt=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(ft);e.VisualSelector=vt;var yt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.visualType=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(ft);e.VisualTypeSelector=yt;var mt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.target=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(ft);e.SlicerTargetSelector=mt;var gt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(gt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Vt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Vt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var wt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(wt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=g,e.validateSettings=V,e.validateCustomPageSize=w,e.validateExtension=b,e.validateReportLoad=E,e.validateCreateReport=S,e.validateDashboardLoad=P,e.validateTileLoad=O,e.validatePage=T,e.validateFilter=_,e.validateSaveAsParameters=R,e.validateLoadQnaConfiguration=A,e.validateQnaInterpretInputData=C,e.validateExportDataRequest=F,e.validateVisualHeader=k,e.validateVisualSettings=x,e.validateCommandsSettings=I,e.validateCustomTheme=M},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var i=r(2),a=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),P=r(24),O=r(25);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new i.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator]),anyValueValidator:new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new i.EnumValidator([0,1]),basicFilterTypeValidator:new i.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new i.BooleanArrayValidator,booleanValidator:new i.BooleanValidator,commandDisplayOptionValidator:new i.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new a.CommandExtensionValidator,commandsSettingsArrayValidator:new i.ArrayValidator([new S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new i.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new i.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new P.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new O.DatasetBindingValidator,displayStateModeValidator:new i.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new i.ArrayValidator([new a.ExtensionValidator]),extensionPointsValidator:new a.ExtensionPointsValidator,extensionValidator:new a.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new i.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,hyperlinkClickBehaviorValidator:new i.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new i.EnumValidator([3]),layoutTypeValidator:new i.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new a.MenuExtensionValidator,menuLocationValidator:new i.EnumValidator([0,1]),notSupportedFilterTypeValidator:new i.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new i.NumberArrayValidator,numberValidator:new i.NumberValidator,pageLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.VisualLayoutValidator]),pageSizeTypeValidator:new i.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.PageLayoutValidator]),permissionsValidator:new i.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new i.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new i.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new i.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new S.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new i.StringArrayValidator,stringValidator:new i.StringValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new i.EnumValidator([0,1]),topNFilterTypeValidator:new i.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new i.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new E.VisualHeaderSettingsValidator,visualHeaderValidator:new E.VisualHeaderValidator,visualHeadersValidator:new i.ArrayValidator([new E.VisualHeaderValidator]),visualLayoutValidator:new g.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new E.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=i;var a=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var i=0;i2&&"[]"===n.slice(l-2)&&(s=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),a=o[1]?w(o[1]):""),s?r[n].push(a):r[n]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],o={},n=!1;if(i=t.indexOf("?"),i!==-1){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for(t=decodeURI(t),"/"!==t.charAt(0)&&(t="/"+t),e=t.length,e>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===n.slice(l-2)&&(s=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),a=o[1]?w(o[1]):""),s?r[n].push(a):r[n]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],o={},n=!1;if(i=t.indexOf("?"),i!==-1){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for(t=decodeURI(t),"/"!==t.charAt(0)&&(t="/"+t),e=t.length,e>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r} + */ + delete(): Promise { + return this.report.service.hpm.delete(`/report/pages/${this.name}`, { }, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .then(response => { + return response.body; + }) + .catch(response => { + throw response.body; + }); + } + /** * Removes all filters from this page of the report. * diff --git a/src/report.ts b/src/report.ts index 9e5fdd29..809bc6dc 100644 --- a/src/report.ts +++ b/src/report.ts @@ -115,6 +115,50 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { }); } + /** + * Add an empty page to the report + * + * ```javascript + * // Add a page to the report with "Sales" as the page display name + * report.addPage("Sales"); + * ``` + * + * @returns {Promise} + */ + addPage(displayName?: string): Promise { + var request = { + displayName: displayName + }; + + return this.service.hpm.post(`/report/addPage`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => { + var page = response.body; + return new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + }, response => { + throw response.body; + }); + } + + /** + * Delete a page from a report + * + * ```javascript + * // Delete a page from a report by pageName (PageName is different than the display name and can be acquired from the getPages API) + * report.deletePage("Sales145"); + * ``` + * + * @returns {Promise} + */ + deletePage(pageName?: string): Promise { + return this.service.hpm.delete(`/report/pages/${pageName}`, { }, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => { + return response.body; + }) + .catch(response => { + throw response.body; + }); + } + /** * Gets filters that are applied at the report level. * diff --git a/test/test.spec.ts b/test/test.spec.ts index ed77ebaf..cb1c9fc3 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -3128,6 +3128,36 @@ describe('SDK-to-HPM', function () { done(); }); }); + + it('report.addPage() sends POST /report/addPage with displayName', function () { + // Arrange + const displayName = "testName"; + const expectedRequest = { + displayName: displayName + }; + const expectedHeaders = { uid: uniqueId }; + + spyHpm.post.and.returnValue(Promise.resolve(page1)); + + // Act + report.addPage(displayName); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/addPage', expectedRequest, expectedHeaders, iframe.contentWindow); + }); + + it('report.deletePage() sends POST /report/addPage with displayName', function () { + // Arrange + const name = "testName"; + const expectedHeaders = { uid: uniqueId }; + + spyHpm.delete.and.returnValue(Promise.resolve(null)); + + // Act + report.deletePage(name); + + expect(spyHpm.delete).toHaveBeenCalledWith(`/report/pages/${name}`, { }, expectedHeaders, iframe.contentWindow); + }); }); describe('filters', function () { From 8377ed0d6d25666595bf4152b57944dc98505fb1 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 7 May 2020 07:30:35 +0000 Subject: [PATCH 008/143] Merged PR 85401: Release version 2.11.1 Should add get correlation ID, relative time filters, pans control and add/delete page. --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 380 ++++++++++++++++++++++++++++++++++++++- dist/powerbi.min.js | 16 +- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 387 insertions(+), 15 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 6a297099..90292f39 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.0 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 9797605a..9f4de64f 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1261,7 +1261,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.11.0', + version: '2.12.0', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1272,7 +1272,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.3.3 | (c) 2016 Microsoft Corporation MIT */ + /*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -1486,6 +1486,7 @@ return /******/ (function(modules) { // webpackBootstrap FilterType[FilterType["RelativeDate"] = 4] = "RelativeDate"; FilterType[FilterType["TopN"] = 5] = "TopN"; FilterType[FilterType["Tuple"] = 6] = "Tuple"; + FilterType[FilterType["RelativeTime"] = 7] = "RelativeTime"; })(FilterType = exports.FilterType || (exports.FilterType = {})); var RelativeDateFilterTimeUnit; (function (RelativeDateFilterTimeUnit) { @@ -1496,6 +1497,8 @@ return /******/ (function(modules) { // webpackBootstrap RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarMonths"] = 4] = "CalendarMonths"; RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Years"] = 5] = "Years"; RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarYears"] = 6] = "CalendarYears"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; })(RelativeDateFilterTimeUnit = exports.RelativeDateFilterTimeUnit || (exports.RelativeDateFilterTimeUnit = {})); var RelativeDateOperators; (function (RelativeDateOperators) { @@ -1606,6 +1609,27 @@ return /******/ (function(modules) { // webpackBootstrap return RelativeDateFilter; }(Filter)); exports.RelativeDateFilter = RelativeDateFilter; + var RelativeTimeFilter = /** @class */ (function (_super) { + __extends(RelativeTimeFilter, _super); + function RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType) { + var _this = _super.call(this, target, FilterType.RelativeTime) || this; + _this.operator = operator; + _this.timeUnitsCount = timeUnitsCount; + _this.timeUnitType = timeUnitType; + _this.schemaUrl = RelativeTimeFilter.schemaUrl; + return _this; + } + RelativeTimeFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.operator = this.operator; + filter.timeUnitsCount = this.timeUnitsCount; + filter.timeUnitType = this.timeUnitType; + return filter; + }; + RelativeTimeFilter.schemaUrl = "http://powerbi.com/product/schema#relativeTime"; + return RelativeTimeFilter; + }(Filter)); + exports.RelativeTimeFilter = RelativeTimeFilter; var BasicFilter = /** @class */ (function (_super) { __extends(BasicFilter, _super); function BasicFilter(target, operator) { @@ -1985,6 +2009,46 @@ return /******/ (function(modules) { // webpackBootstrap return errors ? errors.map(normalizeError) : undefined; } exports.validateSettings = validateSettings; + function validatePanes(input) { + var errors = exports.Validators.reportPanesValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validatePanes = validatePanes; + function validateBookmarksPane(input) { + var errors = exports.Validators.bookmarksPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateBookmarksPane = validateBookmarksPane; + function validateFiltersPane(input) { + var errors = exports.Validators.filtersPanesValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateFiltersPane = validateFiltersPane; + function validateFieldsPane(input) { + var errors = exports.Validators.fieldsPanesValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateFieldsPane = validateFieldsPane; + function validatePageNavigationPane(input) { + var errors = exports.Validators.pageNavigationPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validatePageNavigationPane = validatePageNavigationPane; + function validateSelectionPane(input) { + var errors = exports.Validators.selectionPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateSelectionPane = validateSelectionPane; + function validateSyncSlicersPane(input) { + var errors = exports.Validators.syncSlicersPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateSyncSlicersPane = validateSyncSlicersPane; + function validateVisualizationsPane(input) { + var errors = exports.Validators.visualizationsPanesValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateVisualizationsPane = validateVisualizationsPane; function validateCustomPageSize(input) { var errors = exports.Validators.customPageSizeValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; @@ -2095,12 +2159,13 @@ return /******/ (function(modules) { // webpackBootstrap var commandsSettingsValidator_1 = __webpack_require__(23); var customThemeValidator_1 = __webpack_require__(24); var datasetBindingValidator_1 = __webpack_require__(25); + var panesValidator_1 = __webpack_require__(26); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), advancedFilterValidator: new filtersValidator_1.AdvancedFilterValidator(), anyArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()])]), - anyFilterValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.IncludeExcludeFilterValidator(), new filtersValidator_1.NotSupportedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator(), new filtersValidator_1.TopNFilterValidator()]), + anyFilterValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.IncludeExcludeFilterValidator(), new filtersValidator_1.NotSupportedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator(), new filtersValidator_1.TopNFilterValidator(), new filtersValidator_1.RelativeTimeFilterValidator()]), anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), applyBookmarkStateRequestValidator: new bookmarkValidator_1.ApplyBookmarkStateRequestValidator(), @@ -2110,6 +2175,7 @@ return /******/ (function(modules) { // webpackBootstrap basicFilterValidator: new filtersValidator_1.BasicFilterValidator(), booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(), booleanValidator: new typeValidator_1.BooleanValidator(), + bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), commandExtensionValidator: new extensionsValidator_1.CommandExtensionValidator(), @@ -2130,6 +2196,7 @@ return /******/ (function(modules) { // webpackBootstrap extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), extensionValidator: new extensionsValidator_1.ExtensionValidator(), fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(), + fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(), filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(), filterConditionsValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.ConditionItemValidator()]), filterHierarchyTargetValidator: new filtersValidator_1.FilterHierarchyTargetValidator(), @@ -2137,6 +2204,7 @@ return /******/ (function(modules) { // webpackBootstrap filterTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator()]), filtersArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator()])]), filtersValidator: new filtersValidator_1.FilterValidator(), + filtersPaneValidator: new panesValidator_1.FiltersPaneValidator(), hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(), includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]), @@ -2149,11 +2217,13 @@ return /******/ (function(modules) { // webpackBootstrap numberArrayValidator: new typeValidator_1.NumberArrayValidator(), numberValidator: new typeValidator_1.NumberValidator(), pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]), + pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), pageSizeTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5]), pageSizeValidator: new pageValidator_1.PageSizeValidator(), pageValidator: new pageValidator_1.PageValidator(), pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(), pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]), + reportPanesValidator: new panesValidator_1.ReportPanesValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), @@ -2162,9 +2232,13 @@ return /******/ (function(modules) { // webpackBootstrap relativeDateFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6]), relativeDateFilterTypeValidator: new typeValidator_1.EnumValidator([4]), relativeDateFilterValidator: new filtersValidator_1.RelativeDateFilterValidator(), + relativeTimeFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([7, 8]), + relativeTimeFilterTypeValidator: new typeValidator_1.EnumValidator([7]), + relativeTimeFilterValidator: new filtersValidator_1.RelativeTimeFilterValidator(), reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(), reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(), saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(), + selectionPaneValidator: new panesValidator_1.SelectionPaneValidator(), settingsValidator: new settingsValidator_1.SettingsValidator(), singleCommandSettingsValidator: new commandsSettingsValidator_1.SingleCommandSettingsValidator(), slicerSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.SlicerTargetSelectorValidator()]), @@ -2173,6 +2247,7 @@ return /******/ (function(modules) { // webpackBootstrap slicerValidator: new slicersValidator_1.SlicerValidator(), stringArrayValidator: new typeValidator_1.StringArrayValidator(), stringValidator: new typeValidator_1.StringValidator(), + syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(), tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]), topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]), @@ -2183,6 +2258,7 @@ return /******/ (function(modules) { // webpackBootstrap visualHeaderSettingsValidator: new visualSettingsValidator_1.VisualHeaderSettingsValidator(), visualHeaderValidator: new visualSettingsValidator_1.VisualHeaderValidator(), visualHeadersValidator: new typeValidator_1.ArrayValidator([new visualSettingsValidator_1.VisualHeaderValidator()]), + visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(), visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), @@ -2703,6 +2779,10 @@ return /******/ (function(modules) { // webpackBootstrap { field: "hyperlinkClickBehavior", validators: [validator_1.Validators.hyperlinkClickBehaviorValidator] + }, + { + field: "panes", + validators: [validator_1.Validators.reportPanesValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -3129,6 +3209,47 @@ return /******/ (function(modules) { // webpackBootstrap return RelativeDateFilterValidator; }(typeValidator_1.ObjectValidator)); exports.RelativeDateFilterValidator = RelativeDateFilterValidator; + var RelativeTimeFilterValidator = /** @class */ (function (_super) { + __extends(RelativeTimeFilterValidator, _super); + function RelativeTimeFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + RelativeTimeFilterValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] + }, + { + field: "operator", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterOperatorValidator] + }, + { + field: "timeUnitsCount", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] + }, + { + field: "timeUnitType", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeTimeFilterTimeUnitTypeValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.relativeTimeFilterTypeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return RelativeTimeFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.RelativeTimeFilterValidator = RelativeTimeFilterValidator; var TopNFilterValidator = /** @class */ (function (_super) { __extends(TopNFilterValidator, _super); function TopNFilterValidator() { @@ -4730,6 +4851,257 @@ return /******/ (function(modules) { // webpackBootstrap exports.DatasetBindingValidator = DatasetBindingValidator; + /***/ }), + /* 26 */ + /***/ (function(module, exports, __webpack_require__) { + + var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + var validator_1 = __webpack_require__(1); + var multipleFieldsValidator_1 = __webpack_require__(4); + var typeValidator_1 = __webpack_require__(2); + var ReportPanesValidator = /** @class */ (function (_super) { + __extends(ReportPanesValidator, _super); + function ReportPanesValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportPanesValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "bookmarks", + validators: [validator_1.Validators.bookmarksPaneValidator] + }, + { + field: "fields", + validators: [validator_1.Validators.fieldsPaneValidator] + }, + { + field: "filters", + validators: [validator_1.Validators.filtersPaneValidator] + }, + { + field: "pageNavigation", + validators: [validator_1.Validators.pageNavigationPaneValidator] + }, + { + field: "selection", + validators: [validator_1.Validators.selectionPaneValidator] + }, + { + field: "syncSlicers", + validators: [validator_1.Validators.syncSlicersPaneValidator] + }, + { + field: "visualizations", + validators: [validator_1.Validators.visualizationsPaneValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportPanesValidator; + }(typeValidator_1.ObjectValidator)); + exports.ReportPanesValidator = ReportPanesValidator; + var BookmarksPaneValidator = /** @class */ (function (_super) { + __extends(BookmarksPaneValidator, _super); + function BookmarksPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + BookmarksPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "visible", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return BookmarksPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.BookmarksPaneValidator = BookmarksPaneValidator; + var FieldsPaneValidator = /** @class */ (function (_super) { + __extends(FieldsPaneValidator, _super); + function FieldsPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FieldsPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "expanded", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FieldsPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.FieldsPaneValidator = FieldsPaneValidator; + var FiltersPaneValidator = /** @class */ (function (_super) { + __extends(FiltersPaneValidator, _super); + function FiltersPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FiltersPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "visible", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "expanded", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FiltersPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.FiltersPaneValidator = FiltersPaneValidator; + var PageNavigationPaneValidator = /** @class */ (function (_super) { + __extends(PageNavigationPaneValidator, _super); + function PageNavigationPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PageNavigationPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "visible", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PageNavigationPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.PageNavigationPaneValidator = PageNavigationPaneValidator; + var SelectionPaneValidator = /** @class */ (function (_super) { + __extends(SelectionPaneValidator, _super); + function SelectionPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SelectionPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "visible", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SelectionPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.SelectionPaneValidator = SelectionPaneValidator; + var SyncSlicersPaneValidator = /** @class */ (function (_super) { + __extends(SyncSlicersPaneValidator, _super); + function SyncSlicersPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SyncSlicersPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "visible", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SyncSlicersPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.SyncSlicersPaneValidator = SyncSlicersPaneValidator; + var VisualizationsPaneValidator = /** @class */ (function (_super) { + __extends(VisualizationsPaneValidator, _super); + function VisualizationsPaneValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualizationsPaneValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ + { + field: "expanded", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return VisualizationsPaneValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualizationsPaneValidator = VisualizationsPaneValidator; + + /***/ }) /******/ ]); }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 19371467..cd03a56e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,8 +1,8 @@ -/*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var i=r(1);e.service=i;var a=r(17);e.factories=a;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new i.Service(a.hpmFactory,a.wpmpFactory,a.routerFactory);window.powerbi=h},function(t,e,r){var i=r(2),a=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,i,a){var o=this;void 0===a&&(a={}),this.wpmp=r(a.wpmpName,a.logMessages),this.hpm=e(this.wpmp,null,a.version,a.type),this.router=i(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,a),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,i=new o.Create(this,r,e);return r.powerBiEmbed=i,this.addOrOverwriteEmbed(i,t),i},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var a=Array.prototype.slice.call(t.querySelectorAll("["+i.Embed.embedUrlAttribute+"]"));return a.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,i){void 0===e&&(e={});var a,o=t;if(o.powerBiEmbed){if(i)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");a=this.embedExisting(o,e,r)}else a=this.embedNew(o,e,r,i);return a},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(i.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+i.Embed.typeAttribute+'="'+a.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var i=p.find(function(e){return e.element===t},this.embeds);if(!i)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==i.config.type){if("report"===e.type&&"create"===i.config.type){var o=new a.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(i,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return i.populateConfig(e,!1),i.load(i.config,r),i},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var i=t.querySelector("iframe");i&&(void 0!==i.remove?i.remove():i.parentElement.removeChild(i))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var i="newPage",a=r[i];if(!a)throw new Error("Page model not found at 'event.value."+i+"'.");r[i]=new s.Page(e,a.name,a.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var i=e;return i||(i=document.getElementsByTagName("body")[0]),i.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,a.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var i=t.indexOf("?")>0?"&":"?";return t+=i+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=i,e.find=a,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.11.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.3 | (c) 2016 Microsoft Corporation MIT */ -!function(e,r){t.exports=r()}(window,function(){return function(t){function e(i){if(r[i])return r[i].exports;var a=r[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,i){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:i})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(e.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var a in t)e.d(i,a,function(e){return t[e]}.bind(null,a));return i},e.n=function(t){var r=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,r){function i(t){return l(t)&&!!t.keys}function a(t){return o(t)===K.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?K.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?K.Advanced:K.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function s(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function d(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function c(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(p):void 0}function f(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(p):void 0}function h(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function v(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function y(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function m(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(p):void 0}function g(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(p):void 0}function V(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function I(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var q=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var L;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(L=e.TraceType||(e.TraceType={}));var j;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(j=e.PageSizeType||(e.PageSizeType={}));var N;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(N=e.DisplayOption||(e.DisplayOption={}));var D;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(D=e.BackgroundType||(e.BackgroundType={}));var U;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(U=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var B;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(B=e.LayoutType||(e.LayoutType={}));var W;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(W=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var H;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(H=e.SectionVisibility||(e.SectionVisibility={}));var z;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(z=e.Permissions||(e.Permissions={}));var J;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(J=e.ViewMode||(e.ViewMode={}));var Y;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(Y=e.TokenType||(e.TokenType={}));var Q;!function(t){t[t.None=0]="None",t[t.HighContrast1=1]="HighContrast1",t[t.HighContrast2=2]="HighContrast2",t[t.HighContrastBlack=3]="HighContrastBlack",t[t.HighContrastWhite=4]="HighContrastWhite"}(Q=e.ContrastMode||(e.ContrastMode={}));var G;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(G=e.MenuLocation||(e.MenuLocation={}));var $;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}($=e.FiltersLevel||(e.FiltersLevel={}));var K;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN",t[t.Tuple=6]="Tuple"}(K=e.FilterType||(e.FilterType={}));var X;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears"}(X=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var Z;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(Z=e.RelativeDateOperators||(e.RelativeDateOperators={}));var tt=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){var t={$schema:this.schemaUrl,target:this.target,filterType:this.filterType};return void 0!==this.displaySettings&&(t.displaySettings=this.displaySettings),t},t}();e.Filter=tt;var et=function(t){function e(r,i,a){var o=t.call(this,r,K.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(tt);e.NotSupportedFilter=et;var rt=function(t){function e(r,i,a){var o=t.call(this,r,K.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(tt);e.IncludeExcludeFilter=rt;var it=function(t){function e(r,i,a,o){var n=t.call(this,r,K.TopN)||this;return n.operator=i,n.itemCount=a,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e.orderBy=this.orderBy,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(tt);e.TopNFilter=it;var at=function(t){function e(r,i,a,o,n){var l=t.call(this,r,K.RelativeDate)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(tt);e.RelativeDateFilter=at;var ot=function(t){function e(r,i){for(var a=[],o=2;o0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&a&&a.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+a.length);if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(tt);e.AdvancedFilter=st,e.isFilterKeyColumnsTarget=i,e.isBasicFilterWithKeys=a,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var dt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(dt=e.QnaMode||(e.QnaMode={}));var ut;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(ut=e.ExportDataType||(e.ExportDataType={}));var pt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(pt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var ct;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(ct=e.SortDirection||(e.SortDirection={}));var ft=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=ft;var ht=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(ft);e.PageSelector=ht;var vt=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(ft);e.VisualSelector=vt;var yt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.visualType=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(ft);e.VisualTypeSelector=yt;var mt=function(t){function e(e){var r=t.call(this,vt.schemaUrl)||this;return r.target=e,r}return q(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(ft);e.SlicerTargetSelector=mt;var gt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(gt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Vt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Vt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var wt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(wt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=g,e.validateSettings=V,e.validateCustomPageSize=w,e.validateExtension=b,e.validateReportLoad=E,e.validateCreateReport=S,e.validateDashboardLoad=P,e.validateTileLoad=O,e.validatePage=T,e.validateFilter=_,e.validateSaveAsParameters=R,e.validateLoadQnaConfiguration=A,e.validateQnaInterpretInputData=C,e.validateExportDataRequest=F,e.validateVisualHeader=k,e.validateVisualSettings=x,e.validateCommandsSettings=I,e.validateCustomTheme=M},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var i=r(2),a=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),P=r(24),O=r(25);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new i.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator]),anyValueValidator:new d.AnyOfValidator([new i.StringValidator,new i.NumberValidator,new i.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new i.EnumValidator([0,1]),basicFilterTypeValidator:new i.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new i.BooleanArrayValidator,booleanValidator:new i.BooleanValidator,commandDisplayOptionValidator:new i.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new a.CommandExtensionValidator,commandsSettingsArrayValidator:new i.ArrayValidator([new S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new i.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new i.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new P.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new O.DatasetBindingValidator,displayStateModeValidator:new i.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new i.ArrayValidator([new a.ExtensionValidator]),extensionPointsValidator:new a.ExtensionPointsValidator,extensionValidator:new a.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new i.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new i.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,hyperlinkClickBehaviorValidator:new i.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new i.EnumValidator([3]),layoutTypeValidator:new i.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new a.MenuExtensionValidator,menuLocationValidator:new i.EnumValidator([0,1]),notSupportedFilterTypeValidator:new i.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new i.NumberArrayValidator,numberValidator:new i.NumberValidator,pageLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.VisualLayoutValidator]),pageSizeTypeValidator:new i.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new i.StringValidator],[new g.PageLayoutValidator]),permissionsValidator:new i.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new i.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new i.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new i.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new S.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new i.StringArrayValidator,stringValidator:new i.StringValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new i.EnumValidator([0,1]),topNFilterTypeValidator:new i.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new i.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new E.VisualHeaderSettingsValidator,visualHeaderValidator:new E.VisualHeaderValidator,visualHeadersValidator:new i.ArrayValidator([new E.VisualHeaderValidator]),visualLayoutValidator:new g.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new E.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=i;var a=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var i=0;i2&&"[]"===n.slice(l-2)&&(s=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),a=o[1]?w(o[1]):""),s?r[n].push(a):r[n]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],o={},n=!1;if(i=t.indexOf("?"),i!==-1){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for(t=decodeURI(t),"/"!==t.charAt(0)&&(t="/"+t),e=t.length,e>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r>=4,r.toString(16)})}function d(t,e,r){var a=t.indexOf("?")>0?"&":"?";return t+=a+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.12.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ +!function(e,r){t.exports=r()}(window,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,a){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var i in t)e.d(a,i,function(e){return t[e]}.bind(null,i));return a},e.n=function(t){var r=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,r){function a(t){return l(t)&&!!t.keys}function i(t){return o(t)===ot.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?ot.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?ot.Advanced:ot.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function s(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function d(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function c(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(p):void 0}function f(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(p):void 0}function h(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function v(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function y(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function m(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(p):void 0}function V(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(p):void 0}function g(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(p):void 0}function I(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(p):void 0}function q(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(p):void 0}function j(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function L(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function N(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function U(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function D(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function B(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var H=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var z;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(z=e.TraceType||(e.TraceType={}));var J;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(J=e.PageSizeType||(e.PageSizeType={}));var Y;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Y=e.DisplayOption||(e.DisplayOption={}));var Q;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Q=e.BackgroundType||(e.BackgroundType={}));var G;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(G=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var $;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}($=e.LayoutType||(e.LayoutType={}));var K;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(K=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var X;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(X=e.SectionVisibility||(e.SectionVisibility={}));var Z;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(Z=e.Permissions||(e.Permissions={}));var tt;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(tt=e.ViewMode||(e.ViewMode={}));var et;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(et=e.TokenType||(e.TokenType={}));var rt;!function(t){t[t.None=0]="None",t[t.HighContrast1=1]="HighContrast1",t[t.HighContrast2=2]="HighContrast2",t[t.HighContrastBlack=3]="HighContrastBlack",t[t.HighContrastWhite=4]="HighContrastWhite"}(rt=e.ContrastMode||(e.ContrastMode={}));var at;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(at=e.MenuLocation||(e.MenuLocation={}));var it;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(it=e.FiltersLevel||(e.FiltersLevel={}));var ot;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN",t[t.Tuple=6]="Tuple",t[t.RelativeTime=7]="RelativeTime"}(ot=e.FilterType||(e.FilterType={}));var nt;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears",t[t.Minutes=7]="Minutes",t[t.Hours=8]="Hours"}(nt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var lt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(lt=e.RelativeDateOperators||(e.RelativeDateOperators={}));var st=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){var t={$schema:this.schemaUrl,target:this.target,filterType:this.filterType};return void 0!==this.displaySettings&&(t.displaySettings=this.displaySettings),t},t}();e.Filter=st;var dt=function(t){function e(r,a,i){var o=t.call(this,r,ot.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(st);e.NotSupportedFilter=dt;var ut=function(t){function e(r,a,i){var o=t.call(this,r,ot.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(st);e.IncludeExcludeFilter=ut;var pt=function(t){function e(r,a,i,o){var n=t.call(this,r,ot.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e.orderBy=this.orderBy,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(st);e.TopNFilter=pt;var ct=function(t){function e(r,a,i,o,n){var l=t.call(this,r,ot.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(st);e.RelativeDateFilter=ct;var ft=function(t){function e(r,a,i,o){var n=t.call(this,r,ot.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e},e.schemaUrl="http://powerbi.com/product/schema#relativeTime",e}(st);e.RelativeTimeFilter=ft;var ht=function(t){function e(r,a){for(var i=[],o=2;o0&&!i)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&i&&i.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===l.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(st);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var Vt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(Vt=e.QnaMode||(e.QnaMode={}));var gt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(gt=e.ExportDataType||(e.ExportDataType={}));var wt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(wt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var bt;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(bt=e.SortDirection||(e.SortDirection={}));var Pt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Pt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(Pt);e.PageSelector=Et;var St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(Pt);e.VisualSelector=St;var Tt=function(t){function e(e){var r=t.call(this,St.schemaUrl)||this;return r.visualType=e,r}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(Pt);e.VisualTypeSelector=Tt;var Ot=function(t){function e(e){var r=t.call(this,St.schemaUrl)||this;return r.target=e,r}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(Pt);e.SlicerTargetSelector=Ot;var _t;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(_t=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Rt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Rt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ft;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ft=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=E,e.validatePageNavigationPane=S,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=R,e.validateExtension=F,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=L,e.validateExportDataRequest=N,e.validateVisualHeader=U,e.validateVisualSettings=D,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),E=r(23),S=r(24),T=r(25),O=r(26);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new a.EnumValidator([0,1]),basicFilterTypeValidator:new a.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new a.BooleanArrayValidator,booleanValidator:new a.BooleanValidator,bookmarksPaneValidator:new O.BookmarksPaneValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new i.CommandExtensionValidator,commandsSettingsArrayValidator:new a.ArrayValidator([new E.CommandsSettingsValidator]),commandsSettingsValidator:new E.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new a.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customLayoutValidator:new V.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new S.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new T.DatasetBindingValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new V.DisplayStateValidator,exportDataRequestValidator:new g.ExportDataRequestValidator,extensionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extensionPointsValidator:new i.ExtensionPointsValidator,extensionValidator:new i.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,fieldsPaneValidator:new O.FieldsPaneValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new a.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,filtersPaneValidator:new O.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new a.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new a.EnumValidator([3]),layoutTypeValidator:new a.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new i.MenuExtensionValidator,menuLocationValidator:new a.EnumValidator([0,1]),notSupportedFilterTypeValidator:new a.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new a.NumberArrayValidator,numberValidator:new a.NumberValidator,pageLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.VisualLayoutValidator]),pageNavigationPaneValidator:new O.PageNavigationPaneValidator,pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new a.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new a.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new a.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new a.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new a.EnumValidator([7]),relativeTimeFilterValidator:new l.RelativeTimeFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,selectionPaneValidator:new O.SelectionPaneValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new E.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new a.StringArrayValidator,stringValidator:new a.StringValidator,syncSlicersPaneValidator:new O.SyncSlicersPaneValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new a.EnumValidator([0,1]),topNFilterTypeValidator:new a.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new a.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new a.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new O.VisualizationsPaneValidator,visualLayoutValidator:new V.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=a;var i=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var a=0;a2&&"[]"===n.slice(l-2)&&(s=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),s?r[n].push(i):r[n]=i}return r},recognize:function(t){var e,r,a,i=[this.rootState],o={},n=!1;if(a=t.indexOf("?"),a!==-1){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for(t=decodeURI(t),"/"!==t.charAt(0)&&(t="/"+t),e=t.length,e>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r Date: Thu, 7 May 2020 15:54:33 +0000 Subject: [PATCH 009/143] Merged PR 85711: Remove typings install from postInstall. Remove typings install from postInstall. postInstall runs on customer machines when they install the powerbi-client library. We do not need to require typings installed on customer machine. --- .pipelines/restore.ps1 | 10 +++++++++- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 3 +-- src/config.ts | 2 +- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.pipelines/restore.ps1 b/.pipelines/restore.ps1 index 7cea863b..6c5c5125 100644 --- a/.pipelines/restore.ps1 +++ b/.pipelines/restore.ps1 @@ -15,12 +15,20 @@ Write-Host "start: try install latest npm version" & npm install npm@latest -g Write-Host "done: try install latest npm version" +Write-Host "start: install typings globaly" +& npm install typings -g +Write-Host "done: install typings globaly" + # Do not update $exitCode because we do not want to fail if install latest npm version fails. +Write-Host "start: typings install" +& typings install +Write-Host "done: typings install" +$exitCode += $LASTEXITCODE; + Write-Host "start: npm install" & npm install --no-audit --no-save Write-Host "done: npm install" - $exitCode += $LASTEXITCODE; exit $exitCode \ No newline at end of file diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 90292f39..0211e17b 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.12.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.1 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 9f4de64f..25bc3ef2 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.12.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.1 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1261,7 +1261,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.12.0', + version: '2.12.1', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index cd03a56e..6f94401e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -/*! powerbi-client v2.12.0 | (c) 2016 Microsoft Corporation MIT */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var a=r(1);e.service=a;var i=r(17);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=h},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.wpmp=r(i.wpmpName,i.logMessages),this.hpm=e(this.wpmp,null,i.version,i.type),this.router=a(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,i),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,a=new o.Create(this,r,e);return r.powerBiEmbed=a,this.addOrOverwriteEmbed(a,t),a},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var i=Array.prototype.slice.call(t.querySelectorAll("["+a.Embed.embedUrlAttribute+"]"));return i.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,a){void 0===e&&(e={});var i,o=t;if(o.powerBiEmbed){if(a)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");i=this.embedExisting(o,e,r)}else i=this.embedNew(o,e,r,a);return i},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(a.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+a.Embed.typeAttribute+'="'+i.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var a=p.find(function(e){return e.element===t},this.embeds);if(!a)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==a.config.type){if("report"===e.type&&"create"===a.config.type){var o=new i.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(a,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return a.populateConfig(e,!1),a.load(a.config,r),a},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var a=t.querySelector("iframe");a&&(void 0!==a.remove?a.remove():a.parentElement.removeChild(a))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var a="newPage",i=r[a];if(!i)throw new Error("Page model not found at 'event.value."+a+"'.");r[a]=new s.Page(e,i.name,i.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var a=e;return a||(a=document.getElementsByTagName("body")[0]),a.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,i.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var a=t.indexOf("?")>0?"&":"?";return t+=a+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.12.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.1 | (c) 2016 Microsoft Corporation MIT */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var a=r(1);e.service=a;var i=r(17);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=h},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.wpmp=r(i.wpmpName,i.logMessages),this.hpm=e(this.wpmp,null,i.version,i.type),this.router=a(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,i),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,a=new o.Create(this,r,e);return r.powerBiEmbed=a,this.addOrOverwriteEmbed(a,t),a},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var i=Array.prototype.slice.call(t.querySelectorAll("["+a.Embed.embedUrlAttribute+"]"));return i.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,a){void 0===e&&(e={});var i,o=t;if(o.powerBiEmbed){if(a)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");i=this.embedExisting(o,e,r)}else i=this.embedNew(o,e,r,a);return i},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(a.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+a.Embed.typeAttribute+'="'+i.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var a=p.find(function(e){return e.element===t},this.embeds);if(!a)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==a.config.type){if("report"===e.type&&"create"===a.config.type){var o=new i.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(a,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return a.populateConfig(e,!1),a.load(a.config,r),a},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var a=t.querySelector("iframe");a&&(void 0!==a.remove?a.remove():a.parentElement.removeChild(a))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var a="newPage",i=r[a];if(!i)throw new Error("Page model not found at 'event.value."+a+"'.");r[a]=new s.Page(e,i.name,i.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var a=e;return a||(a=document.getElementsByTagName("body")[0]),a.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,i.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var a=t.indexOf("?")>0?"&":"?";return t+=a+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.12.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ !function(e,r){t.exports=r()}(window,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,a){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var i in t)e.d(a,i,function(e){return t[e]}.bind(null,i));return a},e.n=function(t){var r=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,r){function a(t){return l(t)&&!!t.keys}function i(t){return o(t)===ot.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?ot.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?ot.Advanced:ot.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function s(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function d(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function c(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(p):void 0}function f(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(p):void 0}function h(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function v(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function y(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function m(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(p):void 0}function V(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(p):void 0}function g(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(p):void 0}function I(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(p):void 0}function q(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(p):void 0}function j(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function L(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function N(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function U(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function D(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function B(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var H=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var z;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(z=e.TraceType||(e.TraceType={}));var J;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(J=e.PageSizeType||(e.PageSizeType={}));var Y;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Y=e.DisplayOption||(e.DisplayOption={}));var Q;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Q=e.BackgroundType||(e.BackgroundType={}));var G;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(G=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var $;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}($=e.LayoutType||(e.LayoutType={}));var K;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(K=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var X;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(X=e.SectionVisibility||(e.SectionVisibility={}));var Z;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(Z=e.Permissions||(e.Permissions={}));var tt;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(tt=e.ViewMode||(e.ViewMode={}));var et;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(et=e.TokenType||(e.TokenType={}));var rt;!function(t){t[t.None=0]="None",t[t.HighContrast1=1]="HighContrast1",t[t.HighContrast2=2]="HighContrast2",t[t.HighContrastBlack=3]="HighContrastBlack",t[t.HighContrastWhite=4]="HighContrastWhite"}(rt=e.ContrastMode||(e.ContrastMode={}));var at;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(at=e.MenuLocation||(e.MenuLocation={}));var it;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(it=e.FiltersLevel||(e.FiltersLevel={}));var ot;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN",t[t.Tuple=6]="Tuple",t[t.RelativeTime=7]="RelativeTime"}(ot=e.FilterType||(e.FilterType={}));var nt;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears",t[t.Minutes=7]="Minutes",t[t.Hours=8]="Hours"}(nt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var lt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(lt=e.RelativeDateOperators||(e.RelativeDateOperators={}));var st=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){var t={$schema:this.schemaUrl,target:this.target,filterType:this.filterType};return void 0!==this.displaySettings&&(t.displaySettings=this.displaySettings),t},t}();e.Filter=st;var dt=function(t){function e(r,a,i){var o=t.call(this,r,ot.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(st);e.NotSupportedFilter=dt;var ut=function(t){function e(r,a,i){var o=t.call(this,r,ot.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(st);e.IncludeExcludeFilter=ut;var pt=function(t){function e(r,a,i,o){var n=t.call(this,r,ot.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e.orderBy=this.orderBy,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(st);e.TopNFilter=pt;var ct=function(t){function e(r,a,i,o,n){var l=t.call(this,r,ot.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(st);e.RelativeDateFilter=ct;var ft=function(t){function e(r,a,i,o){var n=t.call(this,r,ot.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e},e.schemaUrl="http://powerbi.com/product/schema#relativeTime",e}(st);e.RelativeTimeFilter=ft;var ht=function(t){function e(r,a){for(var i=[],o=2;o0&&!i)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&i&&i.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===l.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(st);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var Vt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(Vt=e.QnaMode||(e.QnaMode={}));var gt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(gt=e.ExportDataType||(e.ExportDataType={}));var wt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(wt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var bt;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(bt=e.SortDirection||(e.SortDirection={}));var Pt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Pt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(Pt);e.PageSelector=Et;var St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(Pt);e.VisualSelector=St;var Tt=function(t){function e(e){var r=t.call(this,St.schemaUrl)||this;return r.visualType=e,r}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(Pt);e.VisualTypeSelector=Tt;var Ot=function(t){function e(e){var r=t.call(this,St.schemaUrl)||this;return r.target=e,r}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(Pt);e.SlicerTargetSelector=Ot;var _t;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(_t=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Rt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Rt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ft;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ft=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=E,e.validatePageNavigationPane=S,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=R,e.validateExtension=F,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=L,e.validateExportDataRequest=N,e.validateVisualHeader=U,e.validateVisualSettings=D,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),E=r(23),S=r(24),T=r(25),O=r(26);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new a.EnumValidator([0,1]),basicFilterTypeValidator:new a.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new a.BooleanArrayValidator,booleanValidator:new a.BooleanValidator,bookmarksPaneValidator:new O.BookmarksPaneValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new i.CommandExtensionValidator,commandsSettingsArrayValidator:new a.ArrayValidator([new E.CommandsSettingsValidator]),commandsSettingsValidator:new E.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new a.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customLayoutValidator:new V.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new S.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new T.DatasetBindingValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new V.DisplayStateValidator,exportDataRequestValidator:new g.ExportDataRequestValidator,extensionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extensionPointsValidator:new i.ExtensionPointsValidator,extensionValidator:new i.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,fieldsPaneValidator:new O.FieldsPaneValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new a.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,filtersPaneValidator:new O.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new a.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new a.EnumValidator([3]),layoutTypeValidator:new a.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new i.MenuExtensionValidator,menuLocationValidator:new a.EnumValidator([0,1]),notSupportedFilterTypeValidator:new a.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new a.NumberArrayValidator,numberValidator:new a.NumberValidator,pageLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.VisualLayoutValidator]),pageNavigationPaneValidator:new O.PageNavigationPaneValidator,pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new a.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new a.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new a.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new a.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new a.EnumValidator([7]),relativeTimeFilterValidator:new l.RelativeTimeFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,selectionPaneValidator:new O.SelectionPaneValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new E.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new a.StringArrayValidator,stringValidator:new a.StringValidator,syncSlicersPaneValidator:new O.SyncSlicersPaneValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new a.EnumValidator([0,1]),topNFilterTypeValidator:new a.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new a.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new a.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new O.VisualizationsPaneValidator,visualLayoutValidator:new V.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=a;var i=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var a=0;a Date: Mon, 11 May 2020 13:24:50 +0000 Subject: [PATCH 010/143] Merged PR 85931: Exported required configs from powerbi-client module Exported **IQnaEmbedConfiguration, IVisualEmbedConfiguration** and **IQnaSettings** from _powerbi-client_ module. |Check| Yes/No/NA | |:------|:------:| | Build and test scripts are passing|Yes| | Open errors/warning details are shared with the reviewer |NA| | There are no violations to the applicable coding guidelines |Yes| | Application has a consistent exception management setup |NA| | Code does not contain commented code |Yes| | Is testing performed and results captured in ADO and list of test cases executed shared in PR? |Yes| | Generic exception type is not handled|NA| | Stacktrace of error is not returned |NA| Related work items: #359804 --- dist/powerbi-client.d.ts | 4 ++-- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- src/powerbi-client.ts | 5 ++++- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 0211e17b..ea457d0c 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.12.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.2 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -1857,7 +1857,7 @@ declare module "powerbi-client" { export { Report } from "report"; export { Dashboard } from "dashboard"; export { Tile } from "tile"; - export { IEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings } from "embed"; + export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings } from "embed"; export { Page } from "page"; export { Qna } from "qna"; export { Visual } from "visual"; diff --git a/dist/powerbi.js b/dist/powerbi.js index 25bc3ef2..26dc4c5c 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.12.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.2 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1261,7 +1261,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.12.1', + version: '2.12.2', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 6f94401e..abd229cf 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -/*! powerbi-client v2.12.1 | (c) 2016 Microsoft Corporation MIT */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var a=r(1);e.service=a;var i=r(17);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=h},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.wpmp=r(i.wpmpName,i.logMessages),this.hpm=e(this.wpmp,null,i.version,i.type),this.router=a(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,i),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,a=new o.Create(this,r,e);return r.powerBiEmbed=a,this.addOrOverwriteEmbed(a,t),a},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var i=Array.prototype.slice.call(t.querySelectorAll("["+a.Embed.embedUrlAttribute+"]"));return i.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,a){void 0===e&&(e={});var i,o=t;if(o.powerBiEmbed){if(a)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");i=this.embedExisting(o,e,r)}else i=this.embedNew(o,e,r,a);return i},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(a.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+a.Embed.typeAttribute+'="'+i.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var a=p.find(function(e){return e.element===t},this.embeds);if(!a)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==a.config.type){if("report"===e.type&&"create"===a.config.type){var o=new i.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(a,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return a.populateConfig(e,!1),a.load(a.config,r),a},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var a=t.querySelector("iframe");a&&(void 0!==a.remove?a.remove():a.parentElement.removeChild(a))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var a="newPage",i=r[a];if(!i)throw new Error("Page model not found at 'event.value."+a+"'.");r[a]=new s.Page(e,i.name,i.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var a=e;return a||(a=document.getElementsByTagName("body")[0]),a.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,i.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var a=t.indexOf("?")>0?"&":"?";return t+=a+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.12.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.12.2 | (c) 2016 Microsoft Corporation MIT */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["powerbi-client"]=e():t["powerbi-client"]=e()}(this,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={exports:{},id:a,loaded:!1};return t[a].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var a=r(1);e.service=a;var i=r(17);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var s=r(14);e.Tile=s.Tile;var d=r(2);e.Embed=d.Embed;var u=r(8);e.Page=u.Page;var p=r(15);e.Qna=p.Qna;var c=r(16);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var h=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=h},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),s=r(8),d=r(15),u=r(16),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.wpmp=r(i.wpmpName,i.logMessages),this.hpm=e(this.wpmp,null,i.version,i.type),this.router=a(this.wpmp),this.uniqueSessionId=p.generateUUID(),this.router.post("/reports/:uniqueId/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName",function(t,e){var r={type:"report",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/dashboards/:uniqueId/events/:eventName",function(t,e){var r={type:"dashboard",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/tile/:uniqueId/events/:eventName",function(t,e){var r={type:"tile",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/qna/:uniqueId/events/:eventName",function(t,e){var r={type:"qna",id:t.params.uniqueId,name:t.params.eventName,value:t.body};o.handleEvent(r)}),this.router.post("/ready/:uniqueId",function(t,e){var r={type:"report",id:t.params.uniqueId,name:"ready",value:t.body};o.handleEvent(r)}),this.embeds=[],this.config=p.assign({},t.defaultConfig,i),this.config.autoEmbedOnContentLoaded&&this.enableAutoEmbed()}return t.prototype.createReport=function(t,e){e.type="create";var r=t,a=new o.Create(this,r,e);return r.powerBiEmbed=a,this.addOrOverwriteEmbed(a,t),a},t.prototype.init=function(t,e){var r=this;void 0===e&&(e=void 0),t=t&&t instanceof HTMLElement?t:document.body;var i=Array.prototype.slice.call(t.querySelectorAll("["+a.Embed.embedUrlAttribute+"]"));return i.map(function(t){return r.embed(t,e)})},t.prototype.embed=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e)},t.prototype.load=function(t,e){return void 0===e&&(e={}),this.embedInternal(t,e,!0,!1)},t.prototype.bootstrap=function(t,e){return this.embedInternal(t,e,!1,!0)},t.prototype.embedInternal=function(t,e,r,a){void 0===e&&(e={});var i,o=t;if(o.powerBiEmbed){if(a)throw new Error("Attempted to bootstrap element "+t.outerHTML+", but the element is already a powerbi element.");i=this.embedExisting(o,e,r)}else i=this.embedNew(o,e,r,a);return i},t.prototype.getNumberOfComponents=function(){return this.embeds?this.embeds.length:0},t.prototype.getSdkSessionId=function(){return this.uniqueSessionId},t.prototype.embedNew=function(e,r,o,n){var l=r.type||e.getAttribute(a.Embed.typeAttribute);if(!l)throw new Error("Attempted to embed using config "+JSON.stringify(r)+" on element "+e.outerHTML+", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '"+a.Embed.typeAttribute+'="'+i.Report.type.toLowerCase()+"\"'.");r.type=l;var s=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!s)throw new Error("Attempted to embed component of type: "+l+" but did not find any matching component. Please verify the type you specified is intended.");var d=new s(this,e,r,o,n);return e.powerBiEmbed=d,this.addOrOverwriteEmbed(d,e),d},t.prototype.embedExisting=function(t,e,r){var a=p.find(function(e){return e.element===t},this.embeds);if(!a)throw new Error("Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+" which already has embedded comopnent associated, but could not find the existing comopnent in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element.");if(e.type&&"qna"===e.type.toLowerCase())return this.embedNew(t,e);if("string"==typeof e.type&&e.type!==a.config.type){if("report"===e.type&&"create"===a.config.type){var o=new i.Report(this,t,e,(!1),(!1),t.powerBiEmbed.iframe);return o.load(e),t.powerBiEmbed=o,this.addOrOverwriteEmbed(a,t),o}throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported. Attempted to embed using config "+JSON.stringify(e)+" on element "+t.outerHTML+", but the existing element contains an embed of type: "+this.config.type+" which does not match the new type: "+e.type)}return a.populateConfig(e,!1),a.load(a.config,r),a},t.prototype.enableAutoEmbed=function(){var t=this;window.addEventListener("DOMContentLoaded",function(e){return t.init(document.body)},!1)},t.prototype.get=function(t){var e=t;if(!e.powerBiEmbed)throw new Error("You attempted to get an instance of powerbi component associated with element: "+t.outerHTML+" but there was no associated instance.");return e.powerBiEmbed},t.prototype.find=function(t){return p.find(function(e){return e.config.uniqueId===t},this.embeds)},t.prototype.addOrOverwriteEmbed=function(t,e){this.embeds=this.embeds.filter(function(t){return t.element.id!==e.id}),this.embeds.push(t)},t.prototype.reset=function(t){var e=t;if(e.powerBiEmbed){var r=e.powerBiEmbed;r.frontLoadHandler&&r.element.removeEventListener("ready",r.frontLoadHandler,!1),p.remove(function(t){return t===e.powerBiEmbed},this.embeds),delete e.powerBiEmbed;var a=t.querySelector("iframe");a&&(void 0!==a.remove?a.remove():a.parentElement.removeChild(a))}},t.prototype.handleTileEvents=function(t){"tile"===t.type&&this.handleEvent(t)},t.prototype.handleEvent=function(t){var e=p.find(function(e){return e.config.uniqueId===t.id},this.embeds);if(e){var r=t.value;if("pageChanged"===t.name){var a="newPage",i=r[a];if(!i)throw new Error("Page model not found at 'event.value."+a+"'.");r[a]=new s.Page(e,i.name,i.displayName,(!0))}p.raiseCustomEvent(e.element,t.name,r)}},t.prototype.preload=function(t,e){var r=document.createElement("iframe");r.setAttribute("style","display:none;"),r.setAttribute("src",t.embedUrl),r.setAttribute("scrolling","no"),r.setAttribute("allowfullscreen","false");var a=e;return a||(a=document.getElementsByTagName("body")[0]),a.appendChild(r),r.onload=function(){p.raiseCustomEvent(r,"preloaded",{})},r},t.components=[l.Tile,i.Report,n.Dashboard,d.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function d(t,e,r){var a=t.indexOf("?")>0?"&":"?";return t+=a+e+"="+r}function u(t,e,r){return t.get("/report/hasUnsavedChanges",{uid:e},r).then(function(t){return!t.body},function(t){throw t.body})}function p(t){return t.toLowerCase().indexOf("/rdlembed?")>=0}function c(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0}function f(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0]}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=s,e.addParamToUrl=d,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.12.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ !function(e,r){t.exports=r()}(window,function(){return function(t){function e(a){if(r[a])return r[a].exports;var i=r[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,a){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var i in t)e.d(a,i,function(e){return t[e]}.bind(null,i));return a},e.n=function(t){var r=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,r){function a(t){return l(t)&&!!t.keys}function i(t){return o(t)===ot.Basic&&!!t.keyValues}function o(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?ot.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?ot.Advanced:ot.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function s(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function d(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function c(t){var r=e.Validators.visualSelectorValidator.validate(t);return r?r.map(p):void 0}function f(t){var r=e.Validators.slicerValidator.validate(t);return r?r.map(p):void 0}function h(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function v(t){var r=e.Validators.playBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function y(t){var r=e.Validators.addBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function m(t){var r=e.Validators.applyBookmarkByNameRequestValidator.validate(t);return r?r.map(p):void 0}function V(t){var r=e.Validators.applyBookmarkStateRequestValidator.validate(t);return r?r.map(p):void 0}function g(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.pageValidator.validate(t);return r?r.map(p):void 0}function I(t){var r=e.Validators.filtersValidator.validate(t);return r?r.map(p):void 0}function q(t){var r=e.Validators.saveAsParametersValidator.validate(t);return r?r.map(p):void 0}function j(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function L(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function N(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function U(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function D(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function B(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var H=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=r(1).Validators;var z;!function(t){t[t.Information=0]="Information",t[t.Verbose=1]="Verbose",t[t.Warning=2]="Warning",t[t.Error=3]="Error",t[t.ExpectedError=4]="ExpectedError",t[t.UnexpectedError=5]="UnexpectedError",t[t.Fatal=6]="Fatal"}(z=e.TraceType||(e.TraceType={}));var J;!function(t){t[t.Widescreen=0]="Widescreen",t[t.Standard=1]="Standard",t[t.Cortana=2]="Cortana",t[t.Letter=3]="Letter",t[t.Custom=4]="Custom"}(J=e.PageSizeType||(e.PageSizeType={}));var Y;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Y=e.DisplayOption||(e.DisplayOption={}));var Q;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Q=e.BackgroundType||(e.BackgroundType={}));var G;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(G=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var $;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}($=e.LayoutType||(e.LayoutType={}));var K;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(K=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var X;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(X=e.SectionVisibility||(e.SectionVisibility={}));var Z;!function(t){t[t.Read=0]="Read",t[t.ReadWrite=1]="ReadWrite",t[t.Copy=2]="Copy",t[t.Create=4]="Create",t[t.All=7]="All"}(Z=e.Permissions||(e.Permissions={}));var tt;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(tt=e.ViewMode||(e.ViewMode={}));var et;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(et=e.TokenType||(e.TokenType={}));var rt;!function(t){t[t.None=0]="None",t[t.HighContrast1=1]="HighContrast1",t[t.HighContrast2=2]="HighContrast2",t[t.HighContrastBlack=3]="HighContrastBlack",t[t.HighContrastWhite=4]="HighContrastWhite"}(rt=e.ContrastMode||(e.ContrastMode={}));var at;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(at=e.MenuLocation||(e.MenuLocation={}));var it;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(it=e.FiltersLevel||(e.FiltersLevel={}));var ot;!function(t){t[t.Advanced=0]="Advanced",t[t.Basic=1]="Basic",t[t.Unknown=2]="Unknown",t[t.IncludeExclude=3]="IncludeExclude",t[t.RelativeDate=4]="RelativeDate",t[t.TopN=5]="TopN",t[t.Tuple=6]="Tuple",t[t.RelativeTime=7]="RelativeTime"}(ot=e.FilterType||(e.FilterType={}));var nt;!function(t){t[t.Days=0]="Days",t[t.Weeks=1]="Weeks",t[t.CalendarWeeks=2]="CalendarWeeks",t[t.Months=3]="Months",t[t.CalendarMonths=4]="CalendarMonths",t[t.Years=5]="Years",t[t.CalendarYears=6]="CalendarYears",t[t.Minutes=7]="Minutes",t[t.Hours=8]="Hours"}(nt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var lt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(lt=e.RelativeDateOperators||(e.RelativeDateOperators={}));var st=function(){function t(t,e){this.target=t,this.filterType=e}return t.prototype.toJSON=function(){var t={$schema:this.schemaUrl,target:this.target,filterType:this.filterType};return void 0!==this.displaySettings&&(t.displaySettings=this.displaySettings),t},t}();e.Filter=st;var dt=function(t){function e(r,a,i){var o=t.call(this,r,ot.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.message=this.message,e.notSupportedTypeName=this.notSupportedTypeName,e},e.schemaUrl="http://powerbi.com/product/schema#notSupported",e}(st);e.NotSupportedFilter=dt;var ut=function(t){function e(r,a,i){var o=t.call(this,r,ot.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.isExclude=this.isExclude,e.values=this.values,e},e.schemaUrl="http://powerbi.com/product/schema#includeExclude",e}(st);e.IncludeExcludeFilter=ut;var pt=function(t){function e(r,a,i,o){var n=t.call(this,r,ot.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.itemCount=this.itemCount,e.orderBy=this.orderBy,e},e.schemaUrl="http://powerbi.com/product/schema#topN",e}(st);e.TopNFilter=pt;var ct=function(t){function e(r,a,i,o,n){var l=t.call(this,r,ot.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e.includeToday=this.includeToday,e},e.schemaUrl="http://powerbi.com/product/schema#relativeDate",e}(st);e.RelativeDateFilter=ct;var ft=function(t){function e(r,a,i,o){var n=t.call(this,r,ot.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.operator=this.operator,e.timeUnitsCount=this.timeUnitsCount,e.timeUnitType=this.timeUnitType,e},e.schemaUrl="http://powerbi.com/product/schema#relativeTime",e}(st);e.RelativeTimeFilter=ft;var ht=function(t){function e(r,a){for(var i=[],o=2;o0&&!i)throw new Error("You should pass the values to be filtered for each key. You passed: no values and "+n+" keys");if(0===n&&i&&i.length>0)throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");for(var l=0;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===l.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return n.conditions=l,n}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.logicalOperator=this.logicalOperator,e.conditions=this.conditions,e},e.schemaUrl="http://powerbi.com/product/schema#advanced",e}(st);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=s,e.isHierarchyLevelAggr=d,e.isColumnAggr=u;var Vt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(Vt=e.QnaMode||(e.QnaMode={}));var gt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(gt=e.ExportDataType||(e.ExportDataType={}));var wt;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(wt=e.BookmarksPlayMode||(e.BookmarksPlayMode={})),e.CommonErrorCodes={TokenExpired:"TokenExpired",NotFound:"PowerBIEntityNotFound",InvalidParameters:"Invalid parameters",LoadReportFailed:"LoadReportFailed",NotAuthorized:"PowerBINotAuthorizedException",FailedToLoadModel:"ExplorationContainer_FailedToLoadModel_DefaultDetails"},e.TextAlignment={Left:"left",Center:"center",Right:"right"},e.LegendPosition={Top:"Top",Bottom:"Bottom",Right:"Right",Left:"Left",TopCenter:"TopCenter",BottomCenter:"BottomCenter",RightCenter:"RightCenter",LeftCenter:"LeftCenter"};var bt;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(bt=e.SortDirection||(e.SortDirection={}));var Pt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Pt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.pageName=this.pageName,e},e.schemaUrl="http://powerbi.com/product/schema#pageSelector",e}(Pt);e.PageSelector=Et;var St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualName=this.visualName,e},e.schemaUrl="http://powerbi.com/product/schema#visualSelector",e}(Pt);e.VisualSelector=St;var Tt=function(t){function e(e){var r=t.call(this,St.schemaUrl)||this;return r.visualType=e,r}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.visualType=this.visualType,e},e.schemaUrl="http://powerbi.com/product/schema#visualTypeSelector",e}(Pt);e.VisualTypeSelector=Tt;var Ot=function(t){function e(e){var r=t.call(this,St.schemaUrl)||this;return r.target=e,r}return H(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#slicerTargetSelector",e}(Pt);e.SlicerTargetSelector=Ot;var _t;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(_t=e.CommandDisplayOption||(e.CommandDisplayOption={}));var Rt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Rt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ft;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ft=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=h,e.validatePlayBookmarkRequest=v,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=E,e.validatePageNavigationPane=S,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=R,e.validateExtension=F,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=L,e.validateExportDataRequest=N,e.validateVisualHeader=U,e.validateVisualSettings=D,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),s=r(8),d=r(9),u=r(10),p=r(11),c=r(12),f=r(13),h=r(14),v=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),E=r(23),S=r(24),T=r(25),O=r(26);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new d.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new d.AnyOfValidator([new n.ApplyBookmarkByNameRequestValidator,new n.ApplyBookmarkStateRequestValidator]),backgroundValidator:new a.EnumValidator([0,1]),basicFilterTypeValidator:new a.EnumValidator([1]),basicFilterValidator:new l.BasicFilterValidator,booleanArrayValidator:new a.BooleanArrayValidator,booleanValidator:new a.BooleanValidator,bookmarksPaneValidator:new O.BookmarksPaneValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),commandExtensionValidator:new i.CommandExtensionValidator,commandsSettingsArrayValidator:new a.ArrayValidator([new E.CommandsSettingsValidator]),commandsSettingsValidator:new E.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new a.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customLayoutValidator:new V.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new S.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new T.DatasetBindingValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new V.DisplayStateValidator,exportDataRequestValidator:new g.ExportDataRequestValidator,extensionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extensionPointsValidator:new i.ExtensionPointsValidator,extensionValidator:new i.ExtensionValidator,fieldRequiredValidator:new s.FieldRequiredValidator,fieldsPaneValidator:new O.FieldsPaneValidator,filterColumnTargetValidator:new l.FilterColumnTargetValidator,filterConditionsValidator:new a.ArrayValidator([new l.ConditionItemValidator]),filterHierarchyTargetValidator:new l.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new l.FilterMeasureTargetValidator,filterTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new d.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator])]),filtersValidator:new l.FilterValidator,filtersPaneValidator:new O.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new a.EnumValidator([0,1,2]),includeExcludeFilterValidator:new l.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new a.EnumValidator([3]),layoutTypeValidator:new a.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new i.MenuExtensionValidator,menuLocationValidator:new a.EnumValidator([0,1]),notSupportedFilterTypeValidator:new a.EnumValidator([2]),notSupportedFilterValidator:new l.NotSupportedFilterValidator,numberArrayValidator:new a.NumberArrayValidator,numberValidator:new a.NumberValidator,pageLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.VisualLayoutValidator]),pageNavigationPaneValidator:new O.PageNavigationPaneValidator,pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new h.PageSizeValidator,pageValidator:new h.PageValidator,pageViewFieldValidator:new h.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new a.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new a.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new a.EnumValidator([4]),relativeDateFilterValidator:new l.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new a.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new a.EnumValidator([7]),relativeTimeFilterValidator:new l.RelativeTimeFilterValidator,reportCreateValidator:new p.ReportCreateValidator,reportLoadValidator:new u.ReportLoadValidator,saveAsParametersValidator:new y.SaveAsParametersValidator,selectionPaneValidator:new O.SelectionPaneValidator,settingsValidator:new o.SettingsValidator,singleCommandSettingsValidator:new E.SingleCommandSettingsValidator,slicerSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new d.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator,new l.FilterKeyColumnsTargetValidator,new l.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new a.StringArrayValidator,stringValidator:new a.StringValidator,syncSlicersPaneValidator:new O.SyncSlicersPaneValidator,tileLoadValidator:new f.TileLoadValidator,tokenTypeValidator:new a.EnumValidator([0,1]),topNFilterTypeValidator:new a.EnumValidator([5]),topNFilterValidator:new l.TopNFilterValidator,viewModeValidator:new a.EnumValidator([0,1]),visualCommandSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new d.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new a.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new O.VisualizationsPaneValidator,visualLayoutValidator:new V.VisualLayoutValidator,visualSelectorValidator:new w.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new w.VisualTypeSelectorValidator}},function(t,e){var r=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}}();Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?null:"object"!=typeof t||Array.isArray(t)?[{message:void 0!==r?r+" must be an object":"input must be an object",path:e,keyword:"type"}]:null},t}();e.ObjectValidator=a;var i=function(){function t(t){this.itemValidators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;if(!Array.isArray(t))return[{message:r+" property is invalid",path:(e?e+".":"")+r,keyword:"type"}];for(var a=0;a Date: Wed, 13 May 2020 13:50:32 +0000 Subject: [PATCH 011/143] Merged PR 86817: Playground banner update to survey from research pannel Playground banner update to survey Old banner: ![old.png](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/86817/attachments/old.png) New banner: ![new.png](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/86817/attachments/new.png) --- demo/v2-demo/sample.html | 4 ++-- demo/v2-demo/style/style.css | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/demo/v2-demo/sample.html b/demo/v2-demo/sample.html index 1939d925..a9d0589e 100644 --- a/demo/v2-demo/sample.html +++ b/demo/v2-demo/sample.html @@ -1,5 +1,5 @@
-

Influence the future of Power BI Embedded by joining our research panel. 

Sign up now!

+

Help us learn about your Power BI Embedded experience. 

Take our survey now!

@@ -45,6 +45,6 @@

Welcome to the Power BI Embedded Playground

if (!showBanner) return; - window.open("https://www.usertesting.com/panels/7wZ4nzGa/join?RID=Playground", '_blank'); + window.open("https://aka.ms/pbiesurvey_general", '_blank'); } \ No newline at end of file diff --git a/demo/v2-demo/style/style.css b/demo/v2-demo/style/style.css index d4ef2103..3b8bc210 100644 --- a/demo/v2-demo/style/style.css +++ b/demo/v2-demo/style/style.css @@ -1869,24 +1869,26 @@ input:checked + .slider.round { #playground-banner { height: 48px; text-align: center; - background-color: #F2C811; + color: #000000; + background-color: #FBEEB5; padding: 12px; border-bottom: solid 1px #F1F1F1; cursor: pointer; } #playground-banner:hover { - background-color: #ddb612; + background-color: #F7DE6D; } #playground-banner-text, #playground-banner-text-underlined { font-size: 16px; - font-weight: 600; + font-weight: 400; display: inline-block; } #playground-banner-text-underlined { text-decoration: underline; + font-weight: 600; } #playground-banner-close { From 2ef3b1eab5ff2312bc08bf7391ee5625a18b0d97 Mon Sep 17 00:00:00 2001 From: Ali Hamud Date: Thu, 14 May 2020 13:04:57 +0000 Subject: [PATCH 012/143] Merged PR 86870: Npm publishing need the source code. --- .pipelines/pipeline.user.windows.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index 243e296d..933fef69 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -50,6 +50,16 @@ build: - '**/*' exclude: - '**/node_modules/**/*.*' + - to: 'source' + include: + - '**/*' + exclude: + - '**/.pipelines/**/*.*' + - '**/.vscode/**/*.*' + - '**/test/**/*.*' + - '**/demo/**/*.*' + - '**/dist/**/*.*' + - '**/node_modules/**/*.*' - !!buildcommand name: 'Package' From c7bcf477dd7979b5d1c4cb5d873983051bc633ec Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Sun, 17 May 2020 06:47:50 +0000 Subject: [PATCH 013/143] Merged PR 74083: Update playground samples with the new panes This is will be checked-in when we release a new version. Tell me if I missed any sample --- demo/v2-demo/scripts/codesamples.js | 86 +++++++++++++++++++++++------ 1 file changed, 69 insertions(+), 17 deletions(-) diff --git a/demo/v2-demo/scripts/codesamples.js b/demo/v2-demo/scripts/codesamples.js index 6361fcf0..0724980c 100644 --- a/demo/v2-demo/scripts/codesamples.js +++ b/demo/v2-demo/scripts/codesamples.js @@ -37,8 +37,14 @@ function _Embed_BasicEmbed() { id: txtEmbedReportId, permissions: permissions, settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true + panes: { + filters: { + visible: true + }, + pageNavigation: { + visible: true + } + } } }; @@ -111,8 +117,12 @@ function _Embed_BasicEmbed_Mobile() { permissions: permissions, pageName: "ReportSectioneb8c865100f8508cc533", settings: { - filterPaneEnabled: false, - layoutType: models.LayoutType.MobilePortrait + panes: { + filters: { + visible: false + } + }, + layoutType: models.LayoutType.MobilePortrait } }; @@ -401,8 +411,14 @@ function _Mock_Embed_BasicEmbed(isEdit) { permissions: permissions, viewMode: viewMode, settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true, + panes: { + filters: { + visible: true + }, + pageNavigation: { + visible: true + } + }, useCustomSaveAsDialog: true } }; @@ -485,8 +501,14 @@ function _Embed_BasicEmbed_EditMode() { permissions: models.Permissions.All /*gives maximum permissions*/, viewMode: models.ViewMode.Edit, settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true + panes: { + filters: { + visible: true + }, + pageNavigation: { + visible: true + } + } } }; @@ -559,8 +581,14 @@ function _Embed_EmbedWithDefaultFilter() { embedUrl: txtEmbedUrl, id: txtEmbedReportId, settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false + panes: { + filters: { + visible: false + }, + pageNavigation: { + visible: false + } + } }, filters: [filter] }; @@ -841,8 +869,14 @@ function _Report_GetId() { function _Report_UpdateSettings() { // The new settings that you want to apply to the report. const newSettings = { - navContentPaneEnabled: true, - filterPaneEnabled: false + panes: { + filters: { + visible: false + }, + pageNavigation: { + visible: true + } + } }; // Get a reference to the embedded report HTML element @@ -1281,8 +1315,6 @@ function _Report_ApplyCustomLayout() { }; let settings = { - filterPaneEnabled: false, - navContentPaneEnabled: false, layoutType: models.LayoutType.Custom, customLayout: { pageSize: pageSize, @@ -1290,6 +1322,14 @@ function _Report_ApplyCustomLayout() { pagesLayout: { "ReportSection600dd9293d71ade01765": pageLayout } + }, + panes: { + filters: { + visible: false + }, + pageNavigation: { + visible: false + } } } @@ -2175,7 +2215,11 @@ function _Visual_DataSelected() { function _Bookmarks_Enable() { // The new settings that you want to apply to the report. const newSettings = { - bookmarksPaneEnabled: true + panes: { + bookmarks: { + visible: true + } + } }; // Get a reference to the embedded report HTML element @@ -2194,7 +2238,11 @@ function _Bookmarks_Enable() { function _Bookmarks_Disable() { // The new settings that you want to apply to the report. const newSettings = { - bookmarksPaneEnabled: false + panes: { + bookmarks: { + visible: false + } + } }; // Get a reference to the embedded report HTML element @@ -2659,7 +2707,11 @@ function _Visual_ExportData_Underlying() { function _ReportVisual_UpdateSettings() { // The new settings that you want to apply to the report. const newSettings = { - filterPaneEnabled: true + panes: { + filters: { + visible: true + } + } }; // Get a reference to the embedded report HTML element From 3b9ad5cd15fe154fc125a9a3508317a8dadf0109 Mon Sep 17 00:00:00 2001 From: Ali Hamud Date: Wed, 20 May 2020 06:26:17 +0000 Subject: [PATCH 014/143] Merged PR 88411: Fix html self closing issues **Issue** Q&A elements are rendered in a wrong way. **Reason** Some div elements are marked with self-closing. According to the HTML5 spec, tags that cannot have any contents (known as void elements) can be self-closing*. This includes the following tags: **Resolution** _Only void elements can be self closing. from HTML5 spec, void elements are:_ area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr **Copied from HTML5 SPEC:** Tags are used to delimit the start and end of elements in the markup. Raw text, escapable raw text, and normal elements have a start tag to indicate where they begin, and an end tag to indicate where they end. The start and end tags of certain normal elements can be omitted, as described below in the section on optional tags. Those that cannot be omitted must not be omitted. Void elements only have a start tag; end tags must not be specified for void elements. Foreign elements must either have a start tag and an end tag, or a start tag that is marked as self-closing, in which case they must not have an end tag. **References:** https://html.spec.whatwg.org/multipage/syntax.html#void-elements https://stackoverflow.com/questions/3558119/are-non-void-self-closing-tags-valid-in-html5 Related work items: #365457 --- demo/code-demo/log_window.html | 2 +- demo/code-demo/settings_embed.html | 6 +++--- demo/v2-demo/log_window.html | 2 +- demo/v2-demo/settings_embed_dashboard.html | 4 ++-- demo/v2-demo/settings_embed_qna.html | 6 +++--- demo/v2-demo/settings_embed_report.html | 2 +- demo/v2-demo/settings_embed_tile.html | 4 ++-- demo/v2-demo/settings_embed_visual.html | 4 ++-- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/demo/code-demo/log_window.html b/demo/code-demo/log_window.html index 37760719..76e3b643 100644 --- a/demo/code-demo/log_window.html +++ b/demo/code-demo/log_window.html @@ -8,5 +8,5 @@ Clear
- \ No newline at end of file diff --git a/demo/code-demo/settings_embed.html b/demo/code-demo/settings_embed.html index f385dbe4..c850640a 100644 --- a/demo/code-demo/settings_embed.html +++ b/demo/code-demo/settings_embed.html @@ -4,7 +4,7 @@

Embed Report

Select mode to embed your report in: -
+
View mode
Edit mode
@@ -13,7 +13,7 @@

Embed Report

Fill in the fields below to get the code to embed your report. -
+
Embed Token
@@ -31,7 +31,7 @@

Embed Report

Fill in the fields below to get the code to embed your report. -
+
Embed Token
diff --git a/demo/v2-demo/log_window.html b/demo/v2-demo/log_window.html index 1f1f56c7..47837bc7 100644 --- a/demo/v2-demo/log_window.html +++ b/demo/v2-demo/log_window.html @@ -9,6 +9,6 @@
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_embed_dashboard.html b/demo/v2-demo/settings_embed_dashboard.html index 5a1a4a69..223706ee 100644 --- a/demo/v2-demo/settings_embed_dashboard.html +++ b/demo/v2-demo/settings_embed_dashboard.html @@ -12,10 +12,10 @@
-
+
Fill in the fields below to get the code to embed your dashboard. -
+
Embed Token
diff --git a/demo/v2-demo/settings_embed_qna.html b/demo/v2-demo/settings_embed_qna.html index ab926275..5318ecfa 100644 --- a/demo/v2-demo/settings_embed_qna.html +++ b/demo/v2-demo/settings_embed_qna.html @@ -1,7 +1,7 @@
Select mode to embed Q&A in: -
+