From a64989fd6cb468ef0c1a136eb79cb826283a7b9e Mon Sep 17 00:00:00 2001 From: Gabriel Bourgeois Date: Thu, 11 Oct 2018 23:59:29 -0400 Subject: [PATCH 001/150] 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 6e911c901d2694bfba02e1736850537952417c53 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Mon, 6 Jan 2020 11:12:54 +0000 Subject: [PATCH 002/150] Merged PR 62071: Block secure embed scenario in JS SDK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Block JS SDK usage whenever autuAuth query parameter present in embed url because secure embed isn’t supported with JS SDK. ![NotAllowed.PNG](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/62071/attachments/NotAllowed.PNG) **Note for reviewers:** [This will break some unsuspecting clients](https://stackoverflow.com/a/59311295) ![so.PNG](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/62071/attachments/so.PNG ) --- src/embed.ts | 73 ++++---- src/errors.ts | 1 + src/util.ts | 15 +- test/test.spec.ts | 469 ++++++++++++++++++++++++---------------------- 4 files changed, 301 insertions(+), 257 deletions(-) diff --git a/src/embed.ts b/src/embed.ts index a593dafb..181f942e 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -3,6 +3,7 @@ import * as service from './service'; import * as sdkConfig from './config'; import * as models from 'powerbi-models'; import { Defaults } from './defaults'; +import { EmbedUrlNotSupported } from './errors'; declare global { interface Document { @@ -211,6 +212,10 @@ export abstract class Embed { * @param {IEmbedConfigurationBase} config */ constructor(service: service.Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean) { + if (utils.autoAuthInEmbedUrl(config.embedUrl)) { + throw new Error(EmbedUrlNotSupported); + } + Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); this.eventHandlers = []; this.service = service; @@ -249,9 +254,9 @@ export abstract class Embed { .then(response => { return response.body; }, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -327,9 +332,9 @@ export abstract class Embed { utils.assign(this.config, config); return response.body; }, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -386,7 +391,7 @@ export abstract class Embed { */ on(eventName: string, handler: service.IEventHandler): void { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error(`eventName is must be one of ${this.allowedEvents}. You passed: ${eventName}`); + throw new Error(`eventName must be one of ${this.allowedEvents}. You passed: ${eventName}`); } this.eventHandlers.push({ @@ -489,16 +494,16 @@ export abstract class Embed { * @param {IEmbedConfiguration} config */ private addLocaleToEmbedUrl(config: IEmbedConfiguration): void { - if (!config.settings) { - return; - } - let localeSettings = config.settings.localeSettings - if (localeSettings && localeSettings.language) { - this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); - } - if (localeSettings && localeSettings.formatLocale) { - this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); - } + if (!config.settings) { + return; + } + let localeSettings = config.settings.localeSettings + if (localeSettings && localeSettings.language) { + this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); + } + if (localeSettings && localeSettings.formatLocale) { + this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); + } } /** @@ -640,8 +645,8 @@ export abstract class Embed { iframeContent.setAttribute("scrolling", "no"); iframeContent.setAttribute("allowfullscreen", "true"); var node = this.element; - while(node.firstChild) { - node.removeChild(node.firstChild); + while (node.firstChild) { + node.removeChild(node.firstChild); } node.appendChild(iframeContent); this.iframe = node.firstChild; @@ -673,10 +678,10 @@ export abstract class Embed { * Sets Iframe's title */ setComponentTitle(title: string): void { - if(!this.iframe) { + if (!this.iframe) { return; } - if(title == null) { + if (title == null) { this.iframe.removeAttribute("title"); } else { this.iframe.setAttribute("title", title); @@ -687,7 +692,7 @@ export abstract class Embed { * Sets element's tabindex attribute */ setComponentTabIndex(tabIndex?: number): void { - if(!this.element) { + if (!this.element) { return; } this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); @@ -697,7 +702,7 @@ export abstract class Embed { * Removes element's tabindex attribute */ removeComponentTabIndex(tabIndex?: number): void { - if(!this.element) { + if (!this.element) { return; } this.element.removeAttribute("tabindex"); @@ -712,15 +717,15 @@ export abstract class Embed { * @returns {string} */ static findGroupIdFromEmbedUrl(url: string): string { - const groupIdRegEx = /groupId="?([^&]+)"?/ - const groupIdMatch = url.match(groupIdRegEx); + const groupIdRegEx = /groupId="?([^&]+)"?/ + const groupIdMatch = url.match(groupIdRegEx); - let groupId; - if (groupIdMatch) { - groupId = groupIdMatch[1]; - } + let groupId; + if (groupIdMatch) { + groupId = groupIdMatch[1]; + } - return groupId; + return groupId; } /** @@ -738,13 +743,13 @@ export abstract class Embed { // contentWindow must be initialized if (this.iframe.contentWindow == null) - return; + return; return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(response => { return response.body; }, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } } diff --git a/src/errors.ts b/src/errors.ts index 1b5a13ff..03c56cae 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -1,3 +1,4 @@ export let APINotSupportedForRDLError: string = "This API is currently not supported for RDL reports"; +export let EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; diff --git a/src/util.ts b/src/util.ts index 993eb877..8d965627 100644 --- a/src/util.ts +++ b/src/util.ts @@ -166,13 +166,24 @@ export function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow * Checks if the embed url is for RDL report. * * @export - * @param {string} embedUrl - * @returns {boolean} + * @param {string} embedUrl + * @returns {boolean} */ export function isRDLEmbed(embedUrl: string): boolean { return embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; } +/** + * Checks if the embed url contains autoAuth=true. + * + * @export + * @param {string} embedUrl + * @returns {boolean} + */ +export function autoAuthInEmbedUrl(embedUrl: string): boolean { + return embedUrl && decodeURIComponent(embedUrl).toLowerCase().indexOf("autoauth=true") >= 0; +} + /** * Returns random number */ diff --git a/test/test.spec.ts b/test/test.spec.ts index 856abf7d..ed77ebaf 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -17,6 +17,7 @@ import { spyWpmp } from './utility/mockWpmp'; import { spyHpm } from './utility/mockHpm'; import { spyRouter } from './utility/mockRouter'; import * as util from '../src/util'; +import { EmbedUrlNotSupported } from '../src/errors' declare global { interface Window { @@ -43,7 +44,7 @@ function ValidateDashboardConfigurationWorksAsExpected(pageView: string, excepti try { powerbi.embed(component[0], dashboardEmbedConfig); } - catch(e) { + catch (e) { exceptionThrown = true; } @@ -315,19 +316,19 @@ describe('service', function () { }); it('if attempting to embed a dashboard with a pageView equals fitToWidth, don\'t throw error', function () { - ValidateDashboardConfigurationWorksAsExpected("fitToWidth", false, powerbi); + ValidateDashboardConfigurationWorksAsExpected("fitToWidth", false, powerbi); }); it('if attempting to embed a dashboard with a pageView equals oneColumn, don\'t throw error', function () { - ValidateDashboardConfigurationWorksAsExpected("oneColumn", false, powerbi); + ValidateDashboardConfigurationWorksAsExpected("oneColumn", false, powerbi); }); it('if attempting to embed a dashboard with a pageView equals actualSize, don\'t throw error', function () { - ValidateDashboardConfigurationWorksAsExpected("actualSize", false, powerbi); + ValidateDashboardConfigurationWorksAsExpected("actualSize", false, powerbi); }); it('if attempting to embed a dashboard with an undefined pageView, don\'t throw error', function () { - ValidateDashboardConfigurationWorksAsExpected(undefined, false, powerbi); + ValidateDashboardConfigurationWorksAsExpected(undefined, false, powerbi); }); it('should get uqiqueId from config first', function () { @@ -379,7 +380,7 @@ describe('service', function () { const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); - const configuration: embed.IEmbedConfiguration = { id: 'fakeId' , groupId: testGroupId }; + const configuration: embed.IEmbedConfiguration = { id: 'fakeId', groupId: testGroupId }; // Act const report = powerbi.embed($reportContainer[0], configuration); @@ -394,7 +395,7 @@ describe('service', function () { const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); - const configuration: embed.IEmbedConfiguration = {id: 'fakeId'}; + const configuration: embed.IEmbedConfiguration = { id: 'fakeId' }; // Act const report = powerbi.embed($reportContainer[0], configuration); @@ -409,7 +410,7 @@ describe('service', function () { const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); - const configuration: embed.IEmbedConfiguration = {id: 'fakeId'}; + const configuration: embed.IEmbedConfiguration = { id: 'fakeId' }; // Act const report = powerbi.embed($reportContainer[0], configuration); @@ -603,7 +604,7 @@ describe('service', function () { // Assert expect(datasetId).toEqual(testDatasetId); - }); + }); it('should return undefinded if the datasetId parameter is not in the url', function () { // Arrange @@ -614,7 +615,7 @@ describe('service', function () { // Assert expect(datasetId).toBeUndefined(); - }); + }); it('should get datasetId from configuration first', function () { // Arrange @@ -651,7 +652,7 @@ describe('service', function () { const testDatasetId = "ABC123"; const accessToken = 'ABC123'; - const theme = {themeJson: {name: "Theme ABC 123"}}; + const theme = { themeJson: { name: "Theme ABC 123" } }; const embedUrl = `https://app.powerbi.com/reportEmbed?datasetId=${testDatasetId}`; const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); @@ -668,7 +669,7 @@ describe('service', function () { const testDatasetId = "ABC123"; const accessToken = 'ABC123'; - const theme = {themeJson: {name: "Theme ABC 123"}}; + const theme = { themeJson: { name: "Theme ABC 123" } }; const embedUrl = `https://app.powerbi.com/reportEmbed?datasetId=${testDatasetId}`; const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); @@ -773,7 +774,7 @@ describe('service', function () { const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); - const theme = {themeJson: {name: "Theme ABC 123"}}; + const theme = { themeJson: { name: "Theme ABC 123" } }; const configuration: embed.IEmbedConfiguration = { theme: theme }; // Act @@ -790,7 +791,7 @@ describe('service', function () { const $reportContainer = $(`
`) .appendTo('#powerbi-fixture'); - const theme = {themeJson: {name: "Theme ABC 123"}}; + const theme = { themeJson: { name: "Theme ABC 123" } }; const configuration: embed.IEmbedConfiguration = {}; // Act @@ -896,7 +897,7 @@ describe('service', function () { // Act const component = powerbi.bootstrap($element[0], { type: 'report', - embedUrl: 'fakeUrl2', + embedUrl: 'fakeUrl2', }); const component2 = powerbi.embed($element[0], testConfiguration); @@ -930,7 +931,33 @@ describe('service', function () { var iframe = $reportContainer.find('iframe'); expect(iframe.attr('src')).toEqual('fakeUrl?reportId=1&language=languageName&formatLocale=formatName&uid=fakeUid'); }); -}); + + it('Cannot use JS SDK if autoAuth in embed url', function () { + const embedUrl = `https://app.powerbi.com/reportEmbed?reportId=ABC123&autoAuth=true`; + const $element = $(`
`) + .appendTo('#powerbi-fixture'); + const reportEmbedConfig = { + type: "report", + id: "fakeReportId", + groupId: "fakeGroupId", + accessToken: "fakeAccessToken", + embedUrl: embedUrl + }; + + var exceptionThrown = false; + try { + powerbi.embed($element[0], reportEmbedConfig); + } + catch (e) { + exceptionThrown = true; + expect(e.message).toBe(EmbedUrlNotSupported) + } + + expect(exceptionThrown).toBe(true); + $element.empty(); + $element.remove(); + }); + }); describe('reset', function () { it('deletes the powerBiEmbed property on the element', function () { @@ -1198,92 +1225,21 @@ describe('Protocol', function () { describe('create', function () { describe('report', function () { it('POST /report/create returns 400 if the request is invalid', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - create: { - datasetId: "fakeId", - accessToken: "fakeToken", - } - }; - - iframeLoaded - .then(() => { - spyApp.validateCreateReport.and.returnValue(Promise.reject(null)); - - // Act - hpm.post('/report/create', testData.create, { uid: testData.uniqueId }) - .then(() => { - expect(false).toBe(true); - spyApp.validateReportLoad.calls.reset(); - done(); - }) - .catch(response => { - // Assert - expect(spyApp.validateCreateReport).toHaveBeenCalledWith(testData.create); - expect(response.statusCode).toEqual(400); - - // Cleanup - spyApp.validateCreateReport.calls.reset(); - done(); - }); - }); - }); - - it('POST /report/create returns 202 if the request is valid', function (done) { - // Arrange - const testData = { - create: { - datasetId: "fakeId", - accessToken: "fakeToken", - } - }; - - iframeLoaded - .then(() => { - spyApp.validateCreateReport.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/create', testData.create) - .then(response => { - // Assert - expect(spyApp.validateCreateReport).toHaveBeenCalledWith(testData.create); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validateCreateReport.calls.reset(); - spyApp.reportLoad.calls.reset(); - done(); - }) - .catch(response => { - expect(false).toBe(true); - spyApp.validateCreateReport.calls.reset(); - done(); - }); - }); - }); - }); - }); - - describe('load & prepare', function () { - describe('report', function () { - for (var action of ['load', 'prepare']) { - it(`POST /report/${action} returns 400 if the request is invalid`, function (done) { // Arrange const testData = { uniqueId: 'uniqueId', - load: { - reportId: "fakeId", + create: { + datasetId: "fakeId", accessToken: "fakeToken", - options: { - } } }; iframeLoaded .then(() => { - spyApp.validateReportLoad.and.returnValue(Promise.reject(null)); + spyApp.validateCreateReport.and.returnValue(Promise.reject(null)); // Act - hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }) + hpm.post('/report/create', testData.create, { uid: testData.uniqueId }) .then(() => { expect(false).toBe(true); spyApp.validateReportLoad.calls.reset(); @@ -1291,126 +1247,197 @@ describe('Protocol', function () { }) .catch(response => { // Assert - expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); - expect(spyApp.reportLoad).not.toHaveBeenCalledWith(testData.load); + expect(spyApp.validateCreateReport).toHaveBeenCalledWith(testData.create); expect(response.statusCode).toEqual(400); + // Cleanup - spyApp.validateReportLoad.calls.reset(); + spyApp.validateCreateReport.calls.reset(); done(); }); }); }); - it(`POST /report/${action} returns 202 if the request is valid`, function (done) { + it('POST /report/create returns 202 if the request is valid', function (done) { // Arrange const testData = { - load: { - reportId: "fakeId", + create: { + datasetId: "fakeId", accessToken: "fakeToken", - options: { - } } }; iframeLoaded .then(() => { - spyApp.validateReportLoad.and.returnValue(Promise.resolve(null)); + spyApp.validateCreateReport.and.returnValue(Promise.resolve(null)); // Act - hpm.post(`/report/${action}`, testData.load) + hpm.post('/report/create', testData.create) .then(response => { // Assert - expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); - expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.validateCreateReport).toHaveBeenCalledWith(testData.create); expect(response.statusCode).toEqual(202); // Cleanup - spyApp.validateReportLoad.calls.reset(); + spyApp.validateCreateReport.calls.reset(); spyApp.reportLoad.calls.reset(); done(); + }) + .catch(response => { + expect(false).toBe(true); + spyApp.validateCreateReport.calls.reset(); + done(); }); }); }); + }); + }); - it(`POST /report/${action} causes POST /reports/:uniqueId/events/loaded`, function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - load: { - reportId: "fakeId", - accessToken: "fakeToken", - options: { - navContentPaneEnabled: false + describe('load & prepare', function () { + describe('report', function () { + for (var action of ['load', 'prepare']) { + it(`POST /report/${action} returns 400 if the request is invalid`, function (done) { + // Arrange + const testData = { + uniqueId: 'uniqueId', + load: { + reportId: "fakeId", + accessToken: "fakeToken", + options: { + } } - }, - }; - const testExpectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/loaded`, - body: { - initiator: 'sdk' - } - }; + }; - iframeLoaded - .then(() => { - spyApp.reportLoad.and.returnValue(Promise.resolve(testData.load)); + iframeLoaded + .then(() => { + spyApp.validateReportLoad.and.returnValue(Promise.reject(null)); - // Act - hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }) - .then(response => { - setTimeout(() => { + // Act + hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }) + .then(() => { + expect(false).toBe(true); + spyApp.validateReportLoad.calls.reset(); + done(); + }) + .catch(response => { // Assert expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); - expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + expect(spyApp.reportLoad).not.toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(400); // Cleanup spyApp.validateReportLoad.calls.reset(); - spyApp.reportLoad.calls.reset(); done(); }); - }); - }); - }); + }); + }); - it(`POST /report/${action} causes POST /reports/:uniqueId/events/error`, function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - load: { - reportId: "fakeId", - accessToken: "fakeToken", - options: { - navContentPaneEnabled: false + it(`POST /report/${action} returns 202 if the request is valid`, function (done) { + // Arrange + const testData = { + load: { + reportId: "fakeId", + accessToken: "fakeToken", + options: { + } } - }, - error: { - message: "error message" - } - }; - const testExpectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/error`, - body: testData.error - }; - - iframeLoaded - .then(() => { - spyApp.reportLoad.and.returnValue(Promise.reject(testData.error)); + }; - // Act - hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }) - .then(response => { - setTimeout(() => { + iframeLoaded + .then(() => { + spyApp.validateReportLoad.and.returnValue(Promise.resolve(null)); + // Act + hpm.post(`/report/${action}`, testData.load) + .then(response => { // Assert expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + expect(response.statusCode).toEqual(202); // Cleanup spyApp.validateReportLoad.calls.reset(); spyApp.reportLoad.calls.reset(); done(); }); - }); - }); + }); + }); + + it(`POST /report/${action} causes POST /reports/:uniqueId/events/loaded`, function (done) { + // Arrange + const testData = { + uniqueId: 'uniqueId', + load: { + reportId: "fakeId", + accessToken: "fakeToken", + options: { + navContentPaneEnabled: false + } + }, + }; + const testExpectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/loaded`, + body: { + initiator: 'sdk' + } + }; + + iframeLoaded + .then(() => { + spyApp.reportLoad.and.returnValue(Promise.resolve(testData.load)); + + // Act + hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }) + .then(response => { + setTimeout(() => { + // Assert + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + // Cleanup + spyApp.validateReportLoad.calls.reset(); + spyApp.reportLoad.calls.reset(); + done(); + }); + }); + }); + }); + + it(`POST /report/${action} causes POST /reports/:uniqueId/events/error`, function (done) { + // Arrange + const testData = { + uniqueId: 'uniqueId', + load: { + reportId: "fakeId", + accessToken: "fakeToken", + options: { + navContentPaneEnabled: false + } + }, + error: { + message: "error message" + } + }; + const testExpectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/error`, + body: testData.error + }; + + iframeLoaded + .then(() => { + spyApp.reportLoad.and.returnValue(Promise.reject(testData.error)); + + // Act + hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }) + .then(response => { + setTimeout(() => { + // Assert + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + // Cleanup + spyApp.validateReportLoad.calls.reset(); + spyApp.reportLoad.calls.reset(); + done(); + }); + }); + }); }); } }); @@ -1418,69 +1445,69 @@ describe('Protocol', function () { describe('dashboard', function () { it('POST /dashboard/load returns 202 if the request is valid', function (done) { - // Arrange - const testData = { - load: { - dashboardId: "fakeId", - accessToken: "fakeToken", - options: { + // Arrange + const testData = { + load: { + dashboardId: "fakeId", + accessToken: "fakeToken", + options: { + } } - } - }; + }; - iframeLoaded - .then(() => { - spyApp.validateDashboardLoad.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/dashboard/load', testData.load) - .then(response => { - // Assert - expect(spyApp.validateDashboardLoad).toHaveBeenCalledWith(testData.load); - expect(spyApp.dashboardLoad).toHaveBeenCalledWith(testData.load); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validateDashboardLoad.calls.reset(); - spyApp.dashboardLoad.calls.reset(); - done(); - }); - }); - }); + iframeLoaded + .then(() => { + spyApp.validateDashboardLoad.and.returnValue(Promise.resolve(null)); + // Act + hpm.post('/dashboard/load', testData.load) + .then(response => { + // Assert + expect(spyApp.validateDashboardLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.dashboardLoad).toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(202); + // Cleanup + spyApp.validateDashboardLoad.calls.reset(); + spyApp.dashboardLoad.calls.reset(); + done(); + }); + }); + }); it('POST /dashboard/load returns 400 if the request is invalid', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - load: { - dashboardId: "fakeId", - accessToken: "fakeToken", - options: { + // Arrange + const testData = { + uniqueId: 'uniqueId', + load: { + dashboardId: "fakeId", + accessToken: "fakeToken", + options: { + } } - } - }; + }; - iframeLoaded - .then(() => { - spyApp.validateDashboardLoad.and.returnValue(Promise.reject(null)); + iframeLoaded + .then(() => { + spyApp.validateDashboardLoad.and.returnValue(Promise.reject(null)); - // Act - hpm.post('/dashboard/load', testData.load, { uid: testData.uniqueId }) - .then(() => { - expect(false).toBe(true); - spyApp.validateDashboardLoad.calls.reset(); - done(); - }) - .catch(response => { - // Assert - expect(spyApp.validateDashboardLoad).toHaveBeenCalledWith(testData.load); - expect(spyApp.dashboardLoad).not.toHaveBeenCalledWith(testData.load); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validateDashboardLoad.calls.reset(); - done(); - }); - }); - }); + // Act + hpm.post('/dashboard/load', testData.load, { uid: testData.uniqueId }) + .then(() => { + expect(false).toBe(true); + spyApp.validateDashboardLoad.calls.reset(); + done(); + }) + .catch(response => { + // Assert + expect(spyApp.validateDashboardLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.dashboardLoad).not.toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(400); + // Cleanup + spyApp.validateDashboardLoad.calls.reset(); + done(); + }); + }); + }); }); }); @@ -4051,7 +4078,7 @@ describe('SDK-to-HPM', function () { it('report.resetTheme() sends PUT /report/theme with empty object as theme in body', function () { // Arrange - const response = { + const response = { body: null }; From b139d3bfa2b086f74635416a7fc21547b799b077 Mon Sep 17 00:00:00 2001 From: Amit Shuster Date: Tue, 14 Jan 2020 14:12:03 +0000 Subject: [PATCH 003/150] Merged PR 63756: Playground Banner - for research panel Playground Banner added to help find research panelists Ref link: https://www.usertesting.com/panels/7wZ4nzGa/join?RID=Playground Text was written with Linda. ![a.png](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/63756/attachments/a.png) --- demo/v2-demo/sample.html | 21 +++++++++++++- demo/v2-demo/scripts/report.js | 4 +++ demo/v2-demo/style/style.css | 50 ++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/demo/v2-demo/sample.html b/demo/v2-demo/sample.html index a1cbd5b8..1939d925 100644 --- a/demo/v2-demo/sample.html +++ b/demo/v2-demo/sample.html @@ -1,3 +1,7 @@ +
+

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

Sign up now!

+ +
    @@ -28,4 +32,19 @@

    Welcome to the Power BI Embedded Playground

-
\ No newline at end of file +
+ + \ No newline at end of file diff --git a/demo/v2-demo/scripts/report.js b/demo/v2-demo/scripts/report.js index f6d0c19d..e2f92fa8 100644 --- a/demo/v2-demo/scripts/report.js +++ b/demo/v2-demo/scripts/report.js @@ -30,6 +30,9 @@ function OpenSamplesStep() { $("#embed-and-interact-steps-wrapper").hide(); $("#welcome-text").show(); + + if (window.innerWidth > 540) + $("#playground-banner").show(); trackEvent(TelemetryEventName.InnerSectionOpen, { section: TelemetryInnerSection.Sample, src: TelemetryEventSource.UserClick }); } @@ -55,6 +58,7 @@ function OpenCodeStep(mode, entityType, tokenType) { $("#embed-and-interact-steps-wrapper").show(); $("#welcome-text").hide(); + $("#playground-banner").hide(); $("#highlighter").empty(); diff --git a/demo/v2-demo/style/style.css b/demo/v2-demo/style/style.css index 87a6f2bc..d4ef2103 100644 --- a/demo/v2-demo/style/style.css +++ b/demo/v2-demo/style/style.css @@ -1862,4 +1862,54 @@ input:checked + .slider.round { right: calc(50% - 60px); position: absolute; font-size: 14px; +} + +/* Playground Banner */ + +#playground-banner { + height: 48px; + text-align: center; + background-color: #F2C811; + padding: 12px; + border-bottom: solid 1px #F1F1F1; + cursor: pointer; +} + +#playground-banner:hover { + background-color: #ddb612; +} + +#playground-banner-text, #playground-banner-text-underlined { + font-size: 16px; + font-weight: 600; + display: inline-block; +} + +#playground-banner-text-underlined { + text-decoration: underline; +} + +#playground-banner-close { + float: right; + margin-top: 4px; + margin-right: 8px; +} + +@media only screen and (max-width: 675px) { + #playground-banner-text-underlined { + display: none; + } +} + + +@media only screen and (max-width: 605px) { + #playground-banner-text { + font-size: 14px; + } +} + +@media only screen and (max-width: 540px) { + #playground-banner { + display: none; + } } \ No newline at end of file From 680331c96e2a63d1eac392facc1258b70b21773e Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 5 Feb 2020 12:08:50 +0000 Subject: [PATCH 004/150] Merged PR 66681: [Playground] Remove filterPane from mobile sample This PR removes the filterPane from the mobile sample. --- demo/v2-demo/scripts/codesamples.js | 1 + 1 file changed, 1 insertion(+) diff --git a/demo/v2-demo/scripts/codesamples.js b/demo/v2-demo/scripts/codesamples.js index d29830f4..6361fcf0 100644 --- a/demo/v2-demo/scripts/codesamples.js +++ b/demo/v2-demo/scripts/codesamples.js @@ -111,6 +111,7 @@ function _Embed_BasicEmbed_Mobile() { permissions: permissions, pageName: "ReportSectioneb8c865100f8508cc533", settings: { + filterPaneEnabled: false, layoutType: models.LayoutType.MobilePortrait } }; From fab62f3827df4c326484b1e05b379ab6f5e1b0a1 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 5 Feb 2020 12:16:25 +0000 Subject: [PATCH 005/150] Merged PR 63865: Remove Bower, use models 1.3.2 and update sdk to 2.10.4 Remove bower and update dist file. Should mirror [this PR](https://github.com/microsoft/PowerBI-JavaScript/pull/359/files) to JS API Github repository --- .gitignore | 1 - CONTRIBUTING.md | 4 +-- README.md | 7 +--- bower.json | 30 ---------------- demo/bower.json | 26 -------------- demo/package.json | 1 - dist/powerbi-client.d.ts | 21 +++++++---- dist/powerbi.js | 72 ++++++++++++++++++++++++++++---------- dist/powerbi.min.js | 12 +++---- package.json | 4 +-- src/config.ts | 2 +- tsconfig.json | 1 - webpack.test.tsconfig.json | 1 - 13 files changed, 80 insertions(+), 102 deletions(-) delete mode 100644 bower.json delete mode 100644 demo/bower.json diff --git a/.gitignore b/.gitignore index 713cbd07..640fe628 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ node_modules/ -bower_components/ coverage/ docs typings/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 414558a1..c79e2c37 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -58,9 +58,9 @@ The build and tests use webpack to compile all the source modules into one bundl ## Running the demo Navigate to `/demo` directory -Install bower dependencies: +Install npm dependencies: ``` -bower install +npm install ``` Serve the demo directory: diff --git a/README.md b/README.md index c5d7c82e..3415f7bb 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ JavaScript library for embedding Power BI into your apps. [![Build Status](https://img.shields.io/travis/Microsoft/PowerBI-JavaScript/master.svg)](https://travis-ci.org/Microsoft/PowerBI-JavaScript) [![NPM Version](https://img.shields.io/npm/v/powerbi-client.svg)](https://www.npmjs.com/package/powerbi-client) -[![Bower Version](https://img.shields.io/bower/v/powerbi-client.svg)](https://bower.io/search/?q=powerbi-client) [![Nuget Version](https://img.shields.io/nuget/v/Microsoft.PowerBI.JavaScript.svg)](https://www.nuget.org/packages/Microsoft.PowerBI.JavaScript/) [![NPM Total Downloads](https://img.shields.io/npm/dt/powerbi-client.svg)](https://www.npmjs.com/package/powerbi-client) [![NPM Monthly Downloads](https://img.shields.io/npm/dm/powerbi-client.svg)](https://www.npmjs.com/package/powerbi-client) @@ -29,10 +28,6 @@ Install from NPM: `npm install --save powerbi-client` -Install from Bower: - -`bower install powerbi-client --save` - Installing beta versions: `npm install --save powerbi-client@beta` @@ -48,7 +43,7 @@ import * as pbi from 'powerbi-client'; However, the library is exported as a Universal Module and the powerbi.js script can be included before your app's closing `` tag as: ```html - + ``` When included directly, the library is exposed as a global named `powerbi-client`. diff --git a/bower.json b/bower.json deleted file mode 100644 index c6414984..00000000 --- a/bower.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "powerbi-client", - "description": "", - "main": "./dist/powerbi.js", - "authors": [ - "Microsoft" - ], - "license": "MIT", - "moduleType": [], - "homepage": "https://dev.powerbi.com/", - "private": false, - "ignore": [ - "**/.*", - "*/.js", - "*/.md", - "*/.nuspec", - "demo", - "node_modules", - "bower_components", - "src", - "test", - "tests", - "tsconfig.json", - "typings.json", - "webpack.test.tsconfig.json" - ], - "devDependencies": { - "jquery": "~2.2.0" - } -} diff --git a/demo/bower.json b/demo/bower.json deleted file mode 100644 index d5ba28fd..00000000 --- a/demo/bower.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "powerbi-client-demo", - "homepage": "https://github.com/Microsoft/PowerBI-JavaScript", - "authors": [ - "Microsoft Power BI Team" - ], - "description": "Demonstration of embedding powerbi using core library.", - "main": "", - "license": "MIT", - "private": true, - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ], - "dependencies": { - "fetch": "^1.0.0", - "es6-promise": "^3.2.2", - "bootstrap": "^4.1.2", - "jquery": "^3.1.0", - "powerbi-client": "2.4.3" - }, - "devDependencies": {} -} \ No newline at end of file diff --git a/demo/package.json b/demo/package.json index 442cb41b..560ab48e 100644 --- a/demo/package.json +++ b/demo/package.json @@ -25,7 +25,6 @@ "ignore": [ "**/.*", "node_modules", - "bower_components", "test", "tests" ], diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 8e7dc3cf..71711006 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.10.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.10.4 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -77,10 +77,18 @@ declare module "util" { * Checks if the embed url is for RDL report. * * @export - * @param {string} embedUrl - * @returns {boolean} + * @param {string} embedUrl + * @returns {boolean} */ export function isRDLEmbed(embedUrl: string): boolean; + /** + * Checks if the embed url contains autoAuth=true. + * + * @export + * @param {string} embedUrl + * @returns {boolean} + */ + export function autoAuthInEmbedUrl(embedUrl: string): boolean; /** * Returns random number */ @@ -100,6 +108,10 @@ declare module "defaults" { static defaultQnaSettings: models.IQnaSettings; } } +declare module "errors" { + export let APINotSupportedForRDLError: string; + export let EmbedUrlNotSupported: string; +} declare module "embed" { import * as service from "service"; import * as models from 'powerbi-models'; @@ -495,9 +507,6 @@ declare module "embed" { private frontLoadSendConfig(config); } } -declare module "errors" { - export let APINotSupportedForRDLError: string; -} declare module "ifilterable" { import * as models from 'powerbi-models'; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 7bf70b19..b99f2e3e 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.10.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.10.4 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -61,7 +61,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.factories = factories; var models = __webpack_require__(5); exports.models = models; - var report_1 = __webpack_require__(6); + var report_1 = __webpack_require__(7); exports.Report = report_1.Report; var dashboard_1 = __webpack_require__(13); exports.Dashboard = dashboard_1.Dashboard; @@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports, __webpack_require__) { var embed = __webpack_require__(2); - var report_1 = __webpack_require__(6); + var report_1 = __webpack_require__(7); var create_1 = __webpack_require__(12); var dashboard_1 = __webpack_require__(13); var tile_1 = __webpack_require__(14); @@ -516,6 +516,7 @@ return /******/ (function(modules) { // webpackBootstrap var utils = __webpack_require__(3); var sdkConfig = __webpack_require__(4); var models = __webpack_require__(5); + var errors_1 = __webpack_require__(6); /** * Base class for all Power BI embed components * @@ -536,6 +537,9 @@ return /******/ (function(modules) { // webpackBootstrap */ function Embed(service, element, config, iframe, phasedRender, isBootstrap) { this.allowedEvents = []; + if (utils.autoAuthInEmbedUrl(config.embedUrl)) { + throw new Error(errors_1.EmbedUrlNotSupported); + } Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); this.eventHandlers = []; this.service = service; @@ -700,7 +704,7 @@ return /******/ (function(modules) { // webpackBootstrap */ Embed.prototype.on = function (eventName, handler) { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName is must be one of " + this.allowedEvents + ". You passed: " + eventName); + throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); } this.eventHandlers.push({ test: function (event) { return event.name === eventName; }, @@ -1170,13 +1174,24 @@ return /******/ (function(modules) { // webpackBootstrap * Checks if the embed url is for RDL report. * * @export - * @param {string} embedUrl - * @returns {boolean} + * @param {string} embedUrl + * @returns {boolean} */ function isRDLEmbed(embedUrl) { return embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; } exports.isRDLEmbed = isRDLEmbed; + /** + * Checks if the embed url contains autoAuth=true. + * + * @export + * @param {string} embedUrl + * @returns {boolean} + */ + function autoAuthInEmbedUrl(embedUrl) { + return embedUrl && decodeURIComponent(embedUrl).toLowerCase().indexOf("autoauth=true") >= 0; + } + exports.autoAuthInEmbedUrl = autoAuthInEmbedUrl; /** * Returns random number */ @@ -1195,7 +1210,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports) { var config = { - version: '2.10.3', + version: '2.10.4', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1206,7 +1221,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.3.0 | (c) 2016 Microsoft Corporation MIT */ + /*! powerbi-models v1.3.2 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -1345,6 +1360,14 @@ return /******/ (function(modules) { // webpackBootstrap TokenType[TokenType["Aad"] = 0] = "Aad"; TokenType[TokenType["Embed"] = 1] = "Embed"; })(TokenType = exports.TokenType || (exports.TokenType = {})); + var ContrastMode; + (function (ContrastMode) { + ContrastMode[ContrastMode["None"] = 0] = "None"; + ContrastMode[ContrastMode["HighContrast1"] = 1] = "HighContrast1"; + ContrastMode[ContrastMode["HighContrast2"] = 2] = "HighContrast2"; + ContrastMode[ContrastMode["HighContrastBlack"] = 3] = "HighContrastBlack"; + ContrastMode[ContrastMode["HighContrastWhite"] = 4] = "HighContrastWhite"; + })(ContrastMode = exports.ContrastMode || (exports.ContrastMode = {})); var MenuLocation; (function (MenuLocation) { MenuLocation[MenuLocation["Bottom"] = 0] = "Bottom"; @@ -1515,6 +1538,7 @@ return /******/ (function(modules) { // webpackBootstrap var filter = _super.prototype.toJSON.call(this); filter.operator = this.operator; filter.values = this.values; + filter.requireSingleSelection = !!this.requireSingleSelection; return filter; }; BasicFilter.schemaUrl = "http://powerbi.com/product/schema#basic"; @@ -1994,6 +2018,7 @@ return /******/ (function(modules) { // webpackBootstrap commandsSettingsArrayValidator: new typeValidator_1.ArrayValidator([new commandsSettingsValidator_1.CommandsSettingsValidator()]), commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(), conditionItemValidator: new filtersValidator_1.ConditionItemValidator(), + contrastModeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4]), customLayoutDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), customLayoutValidator: new layoutValidator_1.CustomLayoutValidator(), customPageSizeValidator: new pageValidator_1.CustomPageSizeValidator(), @@ -2898,6 +2923,10 @@ return /******/ (function(modules) { // webpackBootstrap field: "filterType", validators: [validator_1.Validators.basicFilterTypeValidator] }, + { + field: "requireSingleSelection", + validators: [validator_1.Validators.booleanValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); @@ -3290,6 +3319,10 @@ return /******/ (function(modules) { // webpackBootstrap field: "datasetBinding", validators: [validator_1.Validators.datasetBindingValidator] }, + { + field: "contrastMode", + validators: [validator_1.Validators.contrastModeValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); @@ -4544,6 +4577,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), /* 6 */ +/***/ (function(module, exports) { + + exports.APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; + exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; + + +/***/ }), +/* 7 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || function (d, b) { @@ -4554,7 +4595,7 @@ return /******/ (function(modules) { // webpackBootstrap var embed = __webpack_require__(2); var models = __webpack_require__(5); var utils = __webpack_require__(3); - var errors = __webpack_require__(7); + var errors = __webpack_require__(6); var page_1 = __webpack_require__(8); var defaults_1 = __webpack_require__(10); var bookmarksManager_1 = __webpack_require__(11); @@ -4963,13 +5004,6 @@ return /******/ (function(modules) { // webpackBootstrap exports.Report = Report; -/***/ }), -/* 7 */ -/***/ (function(module, exports) { - - exports.APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; - - /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { @@ -4977,7 +5011,7 @@ return /******/ (function(modules) { // webpackBootstrap var visualDescriptor_1 = __webpack_require__(9); var models = __webpack_require__(5); var utils = __webpack_require__(3); - var errors = __webpack_require__(7); + var errors = __webpack_require__(6); /** * A Power BI report page * @@ -5294,7 +5328,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports, __webpack_require__) { var utils = __webpack_require__(3); - var errors = __webpack_require__(7); + var errors = __webpack_require__(6); /** * Manages report bookmarks. * @@ -5784,7 +5818,7 @@ return /******/ (function(modules) { // webpackBootstrap d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var models = __webpack_require__(5); - var report_1 = __webpack_require__(6); + var report_1 = __webpack_require__(7); /** * The Power BI Visual embed component * diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 808ededa..43c196f8 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,8 +1,8 @@ -/*! powerbi-client v2.10.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(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(6);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(6),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(){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.getRandomValue=c},function(t,e){var r={version:"2.10.3",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.0 | (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)===$.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)?$.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?$.Advanced:$.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 T(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 P(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 F(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.exportDataRequestValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function C(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 q(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var M=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 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.Bottom=0]="Bottom",t[t.Top=1]="Top"}(Q=e.MenuLocation||(e.MenuLocation={}));var G;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(G=e.FiltersLevel||(e.FiltersLevel={}));var $;!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"}($=e.FilterType||(e.FilterType={}));var K;!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"}(K=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var X;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(X=e.RelativeDateOperators||(e.RelativeDateOperators={}));var Z=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=Z;var tt=function(t){function e(r,a,i){var o=t.call(this,r,$.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return M(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}(Z);e.NotSupportedFilter=tt;var et=function(t){function e(r,a,i){var o=t.call(this,r,$.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return M(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}(Z);e.IncludeExcludeFilter=et;var rt=function(t){function e(r,a,i,o){var n=t.call(this,r,$.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return M(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}(Z);e.TopNFilter=rt;var at=function(t){function e(r,a,i,o,n){var l=t.call(this,r,$.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return M(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}(Z);e.RelativeDateFilter=at;var it=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 M(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}(Z);e.AdvancedFilter=lt,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 st;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(st=e.QnaMode||(e.QnaMode={}));var dt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(dt=e.ExportDataType||(e.ExportDataType={}));var ut;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(ut=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 pt;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(pt=e.SortDirection||(e.SortDirection={}));var ct=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=ct;var ft=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return M(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}(ct);e.PageSelector=ft;var ht=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return M(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}(ct);e.VisualSelector=ht;var vt=function(t){function e(e){var r=t.call(this,ht.schemaUrl)||this;return r.visualType=e,r}return M(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}(ct);e.VisualTypeSelector=vt;var yt=function(t){function e(e){var r=t.call(this,ht.schemaUrl)||this;return r.target=e,r}return M(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}(ct);e.SlicerTargetSelector=yt;var mt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(mt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var gt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(gt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Vt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Vt=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=T,e.validateTileLoad=O,e.validatePage=P,e.validateFilter=_,e.validateSaveAsParameters=R,e.validateLoadQnaConfiguration=A,e.validateQnaInterpretInputData=F,e.validateExportDataRequest=k,e.validateVisualHeader=x,e.validateVisualSettings=C,e.validateCommandsSettings=I,e.validateCustomTheme=q},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),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),T=r(24),O=r(25);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]),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,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 S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new O.DatasetBindingValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extensionPointsValidator:new i.ExtensionPointsValidator,extensionValidator: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,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 g.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 g.PageLayoutValidator]),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,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 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]),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 a.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=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>=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.10.4",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.2 | (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)===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 T(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 O(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=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 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,a,i){var o=t.call(this,r,K.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,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,a,i){var o=t.call(this,r,K.IncludeExclude)||this;return o.values=i,o.isExclude=a,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 at=function(t){function e(r,a,i,o){var n=t.call(this,r,K.TopN)||this;return n.operator=a,n.itemCount=i,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=at;var it=function(t){function e(r,a,i,o,n){var l=t.call(this,r,K.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,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=it;var ot=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 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=a,e.isBasicFilterWithKeys=i,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 a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}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 a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}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=T,e.validateTileLoad=P,e.validatePage=O,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 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),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),T=r(24),P=r(25);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]),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,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 S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new a.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new P.DatasetBindingValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extensionPointsValidator:new i.ExtensionPointsValidator,extensionValidator: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,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 g.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 g.PageLayoutValidator]),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,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 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]),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 a.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=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;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;r2&&"[]"===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: Mon, 10 Feb 2020 09:32:24 +0200 Subject: [PATCH 006/150] fix contributing.md --- CONTRIBUTING.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1e9dc832..c79e2c37 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -58,14 +58,11 @@ The build and tests use webpack to compile all the source modules into one bundl ## Running the demo Navigate to `/demo` directory -<<<<<<< HEAD -======= Install npm dependencies: ``` npm install ``` ->>>>>>> powerbi/master Serve the demo directory: ``` npm start From 766ab54c2c67790a2c6231f21a2307574a872e8a Mon Sep 17 00:00:00 2001 From: "Prachi Mishra (Maq LLC)" Date: Thu, 5 Mar 2020 08:14:11 +0000 Subject: [PATCH 007/150] Merged PR 65731: [JS SDK - Prepare for documentation]: Marking components as hidden Related work items: #278352, #284574, #284892, #299795, #316020 --- src/bookmarksManager.ts | 11 ++++++--- src/config.ts | 3 +++ src/create.ts | 18 +++++++++++++- src/dashboard.ts | 15 +++++++++++- src/defaults.ts | 2 ++ src/embed.ts | 52 +++++++++++++++++++++++++++++++++++------ src/factories.ts | 1 + src/ifilterable.ts | 3 +++ src/page.ts | 4 ++++ src/powerbi-client.ts | 3 +++ src/qna.ts | 12 ++++++++++ src/report.ts | 26 ++++++++++++++++++++- src/service.ts | 31 ++++++++++++++++++++++-- src/tile.ts | 12 ++++++++++ src/visual.ts | 12 +++++++++- src/visualDescriptor.ts | 6 +++++ 16 files changed, 195 insertions(+), 16 deletions(-) diff --git a/src/bookmarksManager.ts b/src/bookmarksManager.ts index e6a9bf38..7437ab9c 100644 --- a/src/bookmarksManager.ts +++ b/src/bookmarksManager.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; @@ -32,7 +35,9 @@ export interface IBookmarksManager { * @implements {IBookmarksManager} */ export class BookmarksManager implements IBookmarksManager { - + /** + * @hidden + */ constructor(private service: service.Service, private config: embed.IEmbedConfigurationBase, private iframe?: HTMLIFrameElement) { } @@ -62,7 +67,7 @@ export class BookmarksManager implements IBookmarksManager { } /** - * Apply bookmark By name. + * Apply bookmark by name. * * ```javascript * bookmarksManager.apply(bookmarkName) @@ -135,7 +140,7 @@ export class BookmarksManager implements IBookmarksManager { * Apply bookmark state. * * ```javascript - * bookmarksManager.applyState(bookmarkName) + * bookmarksManager.applyState(bookmarkState) * ``` * * @returns {Promise} diff --git a/src/config.ts b/src/config.ts index ea5bc553..0c55506c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ const config = { version: '2.10.4', type: 'js' diff --git a/src/create.ts b/src/create.ts index 41da8537..d9b8c14b 100644 --- a/src/create.ts +++ b/src/create.ts @@ -1,11 +1,23 @@ +/** + * @hidden + */ import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; import * as utils from './util'; import { Defaults } from './defaults'; +/** + * A Power BI Report creator component + * + * @export + * @class Create + * @extends {embed.Embed} + */ export class Create extends embed.Embed { - + /* + * @hidden + */ constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration, phasedRender?: boolean, isBootstrap?: boolean) { super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); } @@ -54,6 +66,10 @@ export class Create extends embed.Embed { } } + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string { return "reportEmbed"; } diff --git a/src/dashboard.ts b/src/dashboard.ts index 11848e74..4c218a1d 100644 --- a/src/dashboard.ts +++ b/src/dashboard.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; @@ -28,15 +31,20 @@ export interface IDashboardNode { * @implements {IFilterable} */ export class Dashboard extends embed.Embed implements IDashboardNode { + /** @hidden */ static allowedEvents = ["tileClicked", "error"]; + /** @hidden */ static dashboardIdAttribute = 'powerbi-dashboard-id'; + /** @hidden */ static typeAttribute = 'powerbi-type'; + /** @hidden */ static type = "Dashboard"; /** * Creates an instance of a Power BI Dashboard. * * @param {service.Service} service + * @hidden * @param {HTMLElement} element */ constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { @@ -96,7 +104,7 @@ export class Dashboard extends embed.Embed implements IDashboardNode { /** * Handle config changes. - * + * @hidden * @returns {void} */ configChanged(isBootstrap: boolean): void { @@ -108,12 +116,17 @@ export class Dashboard extends embed.Embed implements IDashboardNode { (this.config).id = this.getId(); } + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string { return "dashboardEmbed"; } /** * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in models.PageView + * @hidden */ private ValidatePageView(pageView: models.PageView): models.IError[] { if (pageView && pageView !== "fitToWidth" && pageView !== "oneColumn" && pageView !== "actualSize") { diff --git a/src/defaults.ts b/src/defaults.ts index d9fc348c..e370206c 100644 --- a/src/defaults.ts +++ b/src/defaults.ts @@ -1,5 +1,7 @@ +/** @hidden */ import * as models from 'powerbi-models'; +/** @hidden */ export abstract class Defaults { public static defaultSettings: models.ISettings = { filterPaneEnabled: true diff --git a/src/embed.ts b/src/embed.ts index 181f942e..17f6c106 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -106,6 +106,7 @@ export interface IEmbedSettings extends models.ISettings, ISettings { export interface IQnaSettings extends models.IQnaSettings, ISettings { } +/** @hidden */ export interface IInternalEventHandler { test(event: service.IEvent): boolean; handle(event: service.ICustomEvent): void; @@ -116,26 +117,37 @@ export interface IInternalEventHandler { * * @export * @abstract + * @hidden * @class Embed */ export abstract class Embed { + /** @hidden */ static allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked"]; + /** @hidden */ static accessTokenAttribute = 'powerbi-access-token'; + /** @hidden */ static embedUrlAttribute = 'powerbi-embed-url'; + /** @hidden */ static nameAttribute = 'powerbi-name'; + /** @hidden */ static typeAttribute = 'powerbi-type'; + /** @hidden */ static defaultEmbedHostName = "https://app.powerbi.com/"; - + + /** @hidden */ static type: string; - + + /** @hidden */ static maxFrontLoadTimes: number = 2; - + + /** @hidden */ allowedEvents = []; /** * Gets or sets the event handler registered for this embed component. * * @type {IInternalEventHandler[]} + * @hidden */ eventHandlers: IInternalEventHandler[]; @@ -143,6 +155,7 @@ export abstract class Embed { * Gets or sets the Power BI embed service. * * @type {service.Service} + * @hidden */ service: service.Service; @@ -150,6 +163,7 @@ export abstract class Embed { * Gets or sets the HTML element that contains the Power BI embed component. * * @type {HTMLElement} + * @hidden */ element: HTMLElement; @@ -157,6 +171,7 @@ export abstract class Embed { * Gets or sets the HTML iframe element that renders the Power BI embed component. * * @type {HTMLIFrameElement} + * @hidden */ iframe: HTMLIFrameElement; @@ -164,6 +179,7 @@ export abstract class Embed { * Gets or sets the configuration settings for the Power BI embed component. * * @type {IEmbedConfigurationBase} + * @hidden */ config: IEmbedConfigurationBase; @@ -171,6 +187,7 @@ export abstract class Embed { * Gets or sets the bootstrap configuration for the Power BI embed component received by powerbi.bootstrap(). * * @type {IBootstrapEmbedConfiguration} + * @hidden */ bootstrapConfig: IBootstrapEmbedConfiguration; @@ -178,26 +195,31 @@ export abstract class Embed { * Gets or sets the configuration settings for creating report. * * @type {models.IReportCreateConfiguration} + * @hidden */ createConfig: models.IReportCreateConfiguration; /** * Url used in the load request. + * @hidden */ loadPath: string; /** * Url used in the load request. + * @hidden */ phasedLoadPath: string; /** * Type of embed + * @hidden */ - embeType: string; + embedtype: string; /** * Handler function for the 'ready' event + * @hidden */ frontLoadHandler: () => any; @@ -210,6 +232,7 @@ export abstract class Embed { * @param {service.Service} service * @param {HTMLElement} element * @param {IEmbedConfigurationBase} config + * @hidden */ constructor(service: service.Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean) { if (utils.autoAuthInEmbedUrl(config.embedUrl)) { @@ -221,11 +244,11 @@ export abstract class Embed { this.service = service; this.element = element; this.iframe = iframe; - this.embeType = config.type.toLowerCase(); + this.embedtype = config.type.toLowerCase(); this.populateConfig(config, isBootstrap); - if (this.embeType === 'create') { + if (this.embedtype === 'create') { this.setIframe(false /*set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); } else { this.setIframe(true /*set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); @@ -440,6 +463,7 @@ export abstract class Embed { * @private * @param {string} globalAccessToken * @returns {string} + * @hidden */ private getAccessToken(globalAccessToken: string): string { const accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; @@ -454,6 +478,7 @@ export abstract class Embed { /** * Populate config for create and load * + * @hidden * @param {IEmbedConfiguration} * @returns {void} */ @@ -492,6 +517,7 @@ export abstract class Embed { * * @private * @param {IEmbedConfiguration} config + * @hidden */ private addLocaleToEmbedUrl(config: IEmbedConfiguration): void { if (!config.settings) { @@ -511,6 +537,7 @@ export abstract class Embed { * * @private * @returns {string} + * @hidden */ private getEmbedUrl(isBootstrap: boolean): string { let embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); @@ -527,6 +554,9 @@ export abstract class Embed { return embedUrl; } + /** + * @hidden + */ private getDefaultEmbedUrl(hostname: string): string { if (!hostname) { hostname = Embed.defaultEmbedHostName; @@ -554,6 +584,7 @@ export abstract class Embed { * * @private * @returns {string} + * @hidden */ private getUniqueId(): string { return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); @@ -564,6 +595,7 @@ export abstract class Embed { * * @private * @returns {string} + * @hidden */ private getGroupId(): string { return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); @@ -580,6 +612,7 @@ export abstract class Embed { /** * Raise a config changed event. * + * @hidden * @returns {void} */ abstract configChanged(isBootstrap: boolean): void; @@ -589,6 +622,7 @@ export abstract class Embed { * For example: report embed endpoint is reportEmbed. * This will help creating a default embed URL such as: https://app.powerbi.com/reportEmbed * + * @hidden * @returns {string} endpoint. */ abstract getDefaultEmbedUrlEndpoint(): string; @@ -620,6 +654,7 @@ export abstract class Embed { * @private * @param {HTMLIFrameElement} iframe * @returns {boolean} + * @hidden */ private isFullscreen(iframe: HTMLIFrameElement): boolean { const options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; @@ -634,6 +669,7 @@ export abstract class Embed { /** * Sets Iframe for embed + * @hidden */ private setIframe(isLoad: boolean, phasedRender?: boolean, isBootstrap?: boolean): void { if (!this.iframe) { @@ -675,7 +711,7 @@ export abstract class Embed { } /** - * Sets Iframe's title + * Set the component title for accessibility. In case of iframes, this method will change the iframe title. */ setComponentTitle(title: string): void { if (!this.iframe) { @@ -712,6 +748,7 @@ export abstract class Embed { * Adds the ability to get groupId from url. * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration. * + * @hidden * @static * @param {string} url * @returns {string} @@ -730,6 +767,7 @@ export abstract class Embed { /** * Sends the config for front load calls, after 'ready' message is received from the iframe + * @hidden */ private frontLoadSendConfig(config: IEmbedConfigurationBase): Promise { if (!config.accessToken) { diff --git a/src/factories.ts b/src/factories.ts index 65446b25..b45f2993 100644 --- a/src/factories.ts +++ b/src/factories.ts @@ -1,5 +1,6 @@ /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection + * @hidden */ import { IHpmFactory, IWpmpFactory, IRouterFactory } from './service'; import config from './config'; diff --git a/src/ifilterable.ts b/src/ifilterable.ts index 775032a5..d93bf3fe 100644 --- a/src/ifilterable.ts +++ b/src/ifilterable.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as models from 'powerbi-models'; /** diff --git a/src/page.ts b/src/page.ts index 333c6af3..da9fdd76 100644 --- a/src/page.ts +++ b/src/page.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import { IFilterable } from './ifilterable'; import { IReportNode } from './report'; import { VisualDescriptor } from './visualDescriptor'; @@ -81,6 +84,7 @@ export class Page implements IPageNode, IFilterable { * @param {string} [displayName] * @param {boolean} [isActivePage] * @param {models.SectionVisibility} [visibility] + * @hidden */ constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: models.SectionVisibility, defaultSize?: models.ICustomPageSize, defaultDisplayOption?: models.DisplayOption) { this.report = report; diff --git a/src/powerbi-client.ts b/src/powerbi-client.ts index 5d116839..85de7bd3 100644 --- a/src/powerbi-client.ts +++ b/src/powerbi-client.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as factories from './factories'; import * as models from 'powerbi-models'; diff --git a/src/qna.ts b/src/qna.ts index 5846f07f..66e88300 100644 --- a/src/qna.ts +++ b/src/qna.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; @@ -11,9 +14,14 @@ import * as utils from './util'; * @extends {Embed} */ export class Qna extends embed.Embed { + /** @hidden */ static type = "Qna"; + /** @hidden */ static allowedEvents = ["loaded", "visualRendered"]; + /** + * @hidden + */ constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); @@ -57,6 +65,10 @@ export class Qna extends embed.Embed { // Nothing to do in qna embed. } + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string { return "qnaEmbed"; } diff --git a/src/report.ts b/src/report.ts index 4c163499..84abaaaf 100644 --- a/src/report.ts +++ b/src/report.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; @@ -31,11 +34,17 @@ export interface IReportNode { * @implements {IFilterable} */ export class Report extends embed.Embed implements IReportNode, IFilterable { + /** @hidden */ static allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked"]; + /** @hidden */ static reportIdAttribute = 'powerbi-report-id'; + /** @hidden */ static filterPaneEnabledAttribute = 'powerbi-settings-filter-pane-enabled'; + /** @hidden */ static navContentPaneEnabledAttribute = 'powerbi-settings-nav-content-pane-enabled'; + /** @hidden */ static typeAttribute = 'powerbi-type'; + /** @hidden */ static type = "Report"; public bookmarksManager: BookmarksManager; @@ -46,6 +55,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @param {service.Service} service * @param {HTMLElement} element * @param {embed.IEmbedConfiguration} config + * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { const config = baseConfig; @@ -66,6 +76,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @static * @param {string} url * @returns {string} + * @hidden */ static findIdFromEmbedUrl(url: string): string { const reportIdRegEx = /reportId="?([^&]+)"?/ @@ -352,6 +363,10 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { config.id = this.getId(); } + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string { return "reportEmbed"; } @@ -444,6 +459,9 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { return this.applyThemeInternal({}); } + /** + * @hidden + */ private applyThemeInternal(theme: models.IReportTheme): Promise { return this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow) .then(response => { @@ -454,6 +472,9 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { }); } + /** + * @hidden + */ private viewModeToString(viewMode: models.ViewMode): string { let mode: string; switch (viewMode) { @@ -467,7 +488,10 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { return mode; } - + + /** + * @hidden + */ private isMobileSettings(settings: embed.IEmbedSettings): boolean { return settings && (settings.layoutType === models.LayoutType.MobileLandscape || settings.layoutType === models.LayoutType.MobilePortrait); } diff --git a/src/service.ts b/src/service.ts index af285e5c..57218bfa 100644 --- a/src/service.ts +++ b/src/service.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as embed from './embed'; import { Report } from './report'; import { Create } from './create'; @@ -19,22 +22,37 @@ export interface IEvent { value: T; } +/** + * @hidden + */ export interface ICustomEvent extends CustomEvent { detail: T; } +/** + * @hidden + */ export interface IEventHandler { (event: ICustomEvent): any; } +/** + * @hidden + */ export interface IHpmFactory { (wpmp: wpmp.WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): hpm.HttpPostMessage; } +/** + * @hidden + */ export interface IWpmpFactory { (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): wpmp.WindowPostMessageProxy; } +/** + * @hidden + */ export interface IRouterFactory { (wpmp: wpmp.WindowPostMessageProxy): router.Router; } @@ -91,6 +109,7 @@ export class Service implements IService { * Gets or sets the access token as the global fallback token to use when a local token is not provided for a report or tile. * * @type {string} + * @hidden */ accessToken: string; @@ -100,9 +119,13 @@ export class Service implements IService { /** A list of Dashboard, Report and Tile components that have been embedded using this service instance. */ private embeds: embed.Embed[]; - /** TODO: Look for way to make hpm private without sacraficing ease of maitenance. This should be private but in embed needs to call methods. */ + /** TODO: Look for way to make hpm private without sacraficing ease of maitenance. This should be private but in embed needs to call methods. + * @hidden + */ hpm: hpm.HttpPostMessage; - /** TODO: Look for way to make wpmp private. This is only public to allow stopping the wpmp in tests */ + /** TODO: Look for way to make wpmp private. This is only public to allow stopping the wpmp in tests + * @hidden + */ wpmp: wpmp.WindowPostMessageProxy; private router: router.Router; private uniqueSessionId: string; @@ -114,6 +137,7 @@ export class Service implements IService { * @param {IWpmpFactory} wpmpFactory The window post message factory used in the postMessage communication layer * @param {IRouterFactory} routerFactory The router factory used in the postMessage communication layer * @param {IServiceConfiguration} [config={}] + * @hidden */ constructor(hpmFactory: IHpmFactory, wpmpFactory: IWpmpFactory, routerFactory: IRouterFactory, config: IServiceConfiguration = {}) { this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); @@ -321,6 +345,7 @@ export class Service implements IService { * @param {IPowerBiElement} element * @param {embed.IEmbedConfigurationBase} config * @returns {embed.Embed} + * @hidden */ private embedNew(element: IPowerBiElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { const componentType = config.type || element.getAttribute(embed.Embed.typeAttribute); @@ -350,6 +375,7 @@ export class Service implements IService { * @param {IPowerBiElement} element * @param {embed.IEmbedConfigurationBase} config * @returns {embed.Embed} + * @hidden */ private embedExisting(element: IPowerBiElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean): embed.Embed { const component = utils.find(x => x.element === element, this.embeds); @@ -489,6 +515,7 @@ export class Service implements IService { * * @private * @param {IEvent} event + * @hidden */ private handleEvent(event: IEvent): void { let embed = utils.find(embed => { diff --git a/src/tile.ts b/src/tile.ts index 80ecddd5..7b2fd880 100644 --- a/src/tile.ts +++ b/src/tile.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; @@ -12,9 +15,14 @@ import { Defaults } from './defaults'; * @extends {Embed} */ export class Tile extends embed.Embed { + /** @hidden */ static type = "Tile"; + /** @hidden */ static allowedEvents = ["tileClicked", "tileLoaded"]; + /** + * @hidden + */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { let config = baseConfig; super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); @@ -60,6 +68,10 @@ export class Tile extends embed.Embed { (this.config).id = this.getId(); } + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string { return "tileEmbed"; } diff --git a/src/visual.ts b/src/visual.ts index 6c146079..1e4baf35 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; @@ -11,9 +14,12 @@ import { Page } from './page'; * @class Visual */ export class Visual extends Report { + /** @hidden */ static type = "visual"; - + + /** @hidden */ static GetPagesNotSupportedError = "Get pages is not supported while embedding a visual."; + /** @hidden */ static SetPageNotSupportedError = "Set page is not supported while embedding a visual."; /** @@ -22,6 +28,7 @@ export class Visual extends Report { * @param {service.Service} service * @param {HTMLElement} element * @param {embed.IEmbedConfiguration} config + * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { super(service, element, baseConfig, phasedRender, isBootstrap, iframe); @@ -168,6 +175,9 @@ export class Visual extends Report { return this.setFilters([], filtersLevel); } + /** + * @hidden + */ private getFiltersLevelUrl(filtersLevel: models.FiltersLevel): string { const config = this.config; switch (filtersLevel) { diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 52ab7bbc..48d6e05a 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -1,3 +1,6 @@ +/** + * @hidden + */ import * as models from 'powerbi-models'; import { IFilterable } from './ifilterable'; import { IPageNode, Page } from './page'; @@ -59,6 +62,9 @@ export class VisualDescriptor implements IVisualNode, IFilterable { */ page: IPageNode; + /** + * @hidden + */ constructor(page: IPageNode, name: string, title: string, type: string, layout: models.IVisualLayout) { this.name = name; this.title = title; From 8c438c7bdd1833c826103e5c054b1b044b7f33f8 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Mon, 16 Mar 2020 12:59:30 +0000 Subject: [PATCH 008/150] Merged PR 74948: Release version 2.11.0 The npm will use the latest models (1.3.3) but the nuget will not because it uses the compiled JS. --- dist/powerbi-client.d.ts | 194 +- dist/powerbi.js | 6539 ++++++++++++++++++++------------------ dist/powerbi.min.js | 16 +- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 3577 insertions(+), 3176 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 71711006..ce1ff420 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.10.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -95,6 +95,9 @@ declare module "util" { export function getRandomValue(): number; } declare module "config" { + /** + * @hidden + */ const config: { version: string; type: string; @@ -102,7 +105,9 @@ declare module "config" { export default config; } declare module "defaults" { + /** @hidden */ import * as models from 'powerbi-models'; + /** @hidden */ export abstract class Defaults { static defaultSettings: models.ISettings; static defaultQnaSettings: models.IQnaSettings; @@ -197,6 +202,7 @@ declare module "embed" { } export interface IQnaSettings extends models.IQnaSettings, ISettings { } + /** @hidden */ export interface IInternalEventHandler { test(event: service.IEvent): boolean; handle(event: service.ICustomEvent): void; @@ -206,74 +212,95 @@ declare module "embed" { * * @export * @abstract + * @hidden * @class Embed */ export abstract class Embed { + /** @hidden */ static allowedEvents: string[]; + /** @hidden */ static accessTokenAttribute: string; + /** @hidden */ static embedUrlAttribute: string; + /** @hidden */ static nameAttribute: string; + /** @hidden */ static typeAttribute: string; + /** @hidden */ static defaultEmbedHostName: string; + /** @hidden */ static type: string; + /** @hidden */ static maxFrontLoadTimes: number; + /** @hidden */ allowedEvents: any[]; /** * Gets or sets the event handler registered for this embed component. * * @type {IInternalEventHandler[]} + * @hidden */ eventHandlers: IInternalEventHandler[]; /** * Gets or sets the Power BI embed service. * * @type {service.Service} + * @hidden */ service: service.Service; /** * Gets or sets the HTML element that contains the Power BI embed component. * * @type {HTMLElement} + * @hidden */ element: HTMLElement; /** * Gets or sets the HTML iframe element that renders the Power BI embed component. * * @type {HTMLIFrameElement} + * @hidden */ iframe: HTMLIFrameElement; /** * Gets or sets the configuration settings for the Power BI embed component. * * @type {IEmbedConfigurationBase} + * @hidden */ config: IEmbedConfigurationBase; /** * Gets or sets the bootstrap configuration for the Power BI embed component received by powerbi.bootstrap(). * * @type {IBootstrapEmbedConfiguration} + * @hidden */ bootstrapConfig: IBootstrapEmbedConfiguration; /** * Gets or sets the configuration settings for creating report. * * @type {models.IReportCreateConfiguration} + * @hidden */ createConfig: models.IReportCreateConfiguration; /** * Url used in the load request. + * @hidden */ loadPath: string; /** * Url used in the load request. + * @hidden */ phasedLoadPath: string; /** * Type of embed + * @hidden */ - embeType: string; + embedtype: string; /** * Handler function for the 'ready' event + * @hidden */ frontLoadHandler: () => any; /** @@ -285,6 +312,7 @@ declare module "embed" { * @param {service.Service} service * @param {HTMLElement} element * @param {IEmbedConfigurationBase} config + * @hidden */ constructor(service: service.Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean); /** @@ -395,11 +423,13 @@ declare module "embed" { * @private * @param {string} globalAccessToken * @returns {string} + * @hidden */ private getAccessToken(globalAccessToken); /** * Populate config for create and load * + * @hidden * @param {IEmbedConfiguration} * @returns {void} */ @@ -409,6 +439,7 @@ declare module "embed" { * * @private * @param {IEmbedConfiguration} config + * @hidden */ private addLocaleToEmbedUrl(config); /** @@ -416,8 +447,12 @@ declare module "embed" { * * @private * @returns {string} + * @hidden */ private getEmbedUrl(isBootstrap); + /** + * @hidden + */ private getDefaultEmbedUrl(hostname); /** * Gets a unique ID from the first available location: options, attribute. @@ -425,6 +460,7 @@ declare module "embed" { * * @private * @returns {string} + * @hidden */ private getUniqueId(); /** @@ -432,6 +468,7 @@ declare module "embed" { * * @private * @returns {string} + * @hidden */ private getGroupId(); /** @@ -444,6 +481,7 @@ declare module "embed" { /** * Raise a config changed event. * + * @hidden * @returns {void} */ abstract configChanged(isBootstrap: boolean): void; @@ -452,6 +490,7 @@ declare module "embed" { * For example: report embed endpoint is reportEmbed. * This will help creating a default embed URL such as: https://app.powerbi.com/reportEmbed * + * @hidden * @returns {string} endpoint. */ abstract getDefaultEmbedUrlEndpoint(): string; @@ -470,6 +509,7 @@ declare module "embed" { * @private * @param {HTMLIFrameElement} iframe * @returns {boolean} + * @hidden */ private isFullscreen(iframe); /** @@ -478,10 +518,11 @@ declare module "embed" { abstract validate(config: IEmbedConfigurationBase): models.IError[]; /** * Sets Iframe for embed + * @hidden */ private setIframe(isLoad, phasedRender?, isBootstrap?); /** - * Sets Iframe's title + * Set the component title for accessibility. In case of iframes, this method will change the iframe title. */ setComponentTitle(title: string): void; /** @@ -496,6 +537,7 @@ declare module "embed" { * Adds the ability to get groupId from url. * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration. * + * @hidden * @static * @param {string} url * @returns {string} @@ -503,11 +545,15 @@ declare module "embed" { static findGroupIdFromEmbedUrl(url: string): string; /** * Sends the config for front load calls, after 'ready' message is received from the iframe + * @hidden */ private frontLoadSendConfig(config); } } declare module "ifilterable" { + /** + * @hidden + */ import * as models from 'powerbi-models'; /** * Decorates embed components that support filters @@ -539,6 +585,9 @@ declare module "ifilterable" { } } declare module "visualDescriptor" { + /** + * @hidden + */ import * as models from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IPageNode } from "page"; @@ -593,6 +642,9 @@ declare module "visualDescriptor" { * @type {IPageNode} */ page: IPageNode; + /** + * @hidden + */ constructor(page: IPageNode, name: string, title: string, type: string, layout: models.IVisualLayout); /** * Gets all visual level filters of the current visual. @@ -682,6 +734,9 @@ declare module "visualDescriptor" { } } declare module "page" { + /** + * @hidden + */ import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -755,6 +810,7 @@ declare module "page" { * @param {string} [displayName] * @param {boolean} [isActivePage] * @param {models.SectionVisibility} [visibility] + * @hidden */ constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: models.SectionVisibility, defaultSize?: models.ICustomPageSize, defaultDisplayOption?: models.DisplayOption); /** @@ -825,6 +881,9 @@ declare module "page" { } } declare module "report" { + /** + * @hidden + */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -853,11 +912,17 @@ declare module "report" { * @implements {IFilterable} */ export class Report extends embed.Embed implements IReportNode, IFilterable { + /** @hidden */ static allowedEvents: string[]; + /** @hidden */ static reportIdAttribute: string; + /** @hidden */ static filterPaneEnabledAttribute: string; + /** @hidden */ static navContentPaneEnabledAttribute: string; + /** @hidden */ static typeAttribute: string; + /** @hidden */ static type: string; bookmarksManager: BookmarksManager; /** @@ -866,6 +931,7 @@ declare module "report" { * @param {service.Service} service * @param {HTMLElement} element * @param {embed.IEmbedConfiguration} config + * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); /** @@ -877,6 +943,7 @@ declare module "report" { * @static * @param {string} url * @returns {string} + * @hidden */ static findIdFromEmbedUrl(url: string): string; /** @@ -1019,6 +1086,10 @@ declare module "report" { * @returns {void} */ configChanged(isBootstrap: boolean): void; + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string; /** * Switch Report view mode. @@ -1060,15 +1131,34 @@ declare module "report" { * ``` */ resetTheme(): Promise; + /** + * @hidden + */ private applyThemeInternal(theme); + /** + * @hidden + */ private viewModeToString(viewMode); + /** + * @hidden + */ private isMobileSettings(settings); } } declare module "create" { + /** + * @hidden + */ import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; + /** + * A Power BI Report creator component + * + * @export + * @class Create + * @extends {embed.Embed} + */ export class Create extends embed.Embed { constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration, phasedRender?: boolean, isBootstrap?: boolean); /** @@ -1087,6 +1177,10 @@ declare module "create" { * @returns {void} */ configChanged(isBootstrap: boolean): void; + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string; /** * checks if the report is saved. @@ -1112,6 +1206,9 @@ declare module "create" { } } declare module "dashboard" { + /** + * @hidden + */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1136,14 +1233,19 @@ declare module "dashboard" { * @implements {IFilterable} */ export class Dashboard extends embed.Embed implements IDashboardNode { + /** @hidden */ static allowedEvents: string[]; + /** @hidden */ static dashboardIdAttribute: string; + /** @hidden */ static typeAttribute: string; + /** @hidden */ static type: string; /** * Creates an instance of a Power BI Dashboard. * * @param {service.Service} service + * @hidden * @param {HTMLElement} element */ constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); @@ -1170,18 +1272,26 @@ declare module "dashboard" { validate(baseConfig: embed.IEmbedConfigurationBase): models.IError[]; /** * Handle config changes. - * + * @hidden * @returns {void} */ configChanged(isBootstrap: boolean): void; + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string; /** * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in models.PageView + * @hidden */ private ValidatePageView(pageView); } } declare module "tile" { + /** + * @hidden + */ import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; @@ -1193,8 +1303,13 @@ declare module "tile" { * @extends {Embed} */ export class Tile extends embed.Embed { + /** @hidden */ static type: string; + /** @hidden */ static allowedEvents: string[]; + /** + * @hidden + */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); /** * The ID of the tile @@ -1212,6 +1327,10 @@ declare module "tile" { * @returns {void} */ configChanged(isBootstrap: boolean): void; + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string; /** * Adds the ability to get tileId from url. @@ -1225,6 +1344,9 @@ declare module "tile" { } } declare module "qna" { + /** + * @hidden + */ import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; @@ -1236,8 +1358,13 @@ declare module "qna" { * @extends {Embed} */ export class Qna extends embed.Embed { + /** @hidden */ static type: string; + /** @hidden */ static allowedEvents: string[]; + /** + * @hidden + */ constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); /** * The ID of the Qna embed component @@ -1258,6 +1385,10 @@ declare module "qna" { * @returns {void} */ configChanged(isBootstrap: boolean): void; + /** + * @hidden + * @returns {string} + */ getDefaultEmbedUrlEndpoint(): string; /** * Validate load configuration. @@ -1266,6 +1397,9 @@ declare module "qna" { } } declare module "visual" { + /** + * @hidden + */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1278,8 +1412,11 @@ declare module "visual" { * @class Visual */ export class Visual extends Report { + /** @hidden */ static type: string; + /** @hidden */ static GetPagesNotSupportedError: string; + /** @hidden */ static SetPageNotSupportedError: string; /** * Creates an instance of a Power BI Single Visual. @@ -1287,6 +1424,7 @@ declare module "visual" { * @param {service.Service} service * @param {HTMLElement} element * @param {embed.IEmbedConfiguration} config + * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); load(baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean): Promise; @@ -1347,10 +1485,16 @@ declare module "visual" { * @returns {Promise} */ removeFilters(filtersLevel?: models.FiltersLevel): Promise; + /** + * @hidden + */ private getFiltersLevelUrl(filtersLevel); } } declare module "service" { + /** + * @hidden + */ import * as embed from "embed"; import * as wpmp from 'window-post-message-proxy'; import * as hpm from 'http-post-message'; @@ -1361,18 +1505,33 @@ declare module "service" { name: string; value: T; } + /** + * @hidden + */ export interface ICustomEvent extends CustomEvent { detail: T; } + /** + * @hidden + */ export interface IEventHandler { (event: ICustomEvent): any; } + /** + * @hidden + */ export interface IHpmFactory { (wpmp: wpmp.WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): hpm.HttpPostMessage; } + /** + * @hidden + */ export interface IWpmpFactory { (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): wpmp.WindowPostMessageProxy; } + /** + * @hidden + */ export interface IRouterFactory { (wpmp: wpmp.WindowPostMessageProxy): router.Router; } @@ -1412,15 +1571,20 @@ declare module "service" { * Gets or sets the access token as the global fallback token to use when a local token is not provided for a report or tile. * * @type {string} + * @hidden */ accessToken: string; /**The Configuration object for the service*/ private config; /** A list of Dashboard, Report and Tile components that have been embedded using this service instance. */ private embeds; - /** TODO: Look for way to make hpm private without sacraficing ease of maitenance. This should be private but in embed needs to call methods. */ + /** TODO: Look for way to make hpm private without sacraficing ease of maitenance. This should be private but in embed needs to call methods. + * @hidden + */ hpm: hpm.HttpPostMessage; - /** TODO: Look for way to make wpmp private. This is only public to allow stopping the wpmp in tests */ + /** TODO: Look for way to make wpmp private. This is only public to allow stopping the wpmp in tests + * @hidden + */ wpmp: wpmp.WindowPostMessageProxy; private router; private uniqueSessionId; @@ -1431,6 +1595,7 @@ declare module "service" { * @param {IWpmpFactory} wpmpFactory The window post message factory used in the postMessage communication layer * @param {IRouterFactory} routerFactory The router factory used in the postMessage communication layer * @param {IServiceConfiguration} [config={}] + * @hidden */ constructor(hpmFactory: IHpmFactory, wpmpFactory: IWpmpFactory, routerFactory: IRouterFactory, config?: IServiceConfiguration); /** @@ -1486,6 +1651,7 @@ declare module "service" { * @param {IPowerBiElement} element * @param {embed.IEmbedConfigurationBase} config * @returns {embed.Embed} + * @hidden */ private embedNew(element, config, phasedRender?, isBootstrap?); /** @@ -1495,6 +1661,7 @@ declare module "service" { * @param {IPowerBiElement} element * @param {embed.IEmbedConfigurationBase} config * @returns {embed.Embed} + * @hidden */ private embedExisting(element, config, phasedRender?); /** @@ -1538,6 +1705,7 @@ declare module "service" { * * @private * @param {IEvent} event + * @hidden */ private handleEvent(event); /** @@ -1552,6 +1720,9 @@ declare module "service" { } } declare module "bookmarksManager" { + /** + * @hidden + */ import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; @@ -1579,6 +1750,9 @@ declare module "bookmarksManager" { private service; private config; private iframe; + /** + * @hidden + */ constructor(service: service.Service, config: embed.IEmbedConfigurationBase, iframe?: HTMLIFrameElement); /** * Gets bookmarks that are defined in the report. @@ -1595,7 +1769,7 @@ declare module "bookmarksManager" { */ getBookmarks(): Promise; /** - * Apply bookmark By name. + * Apply bookmark by name. * * ```javascript * bookmarksManager.apply(bookmarkName) @@ -1629,7 +1803,7 @@ declare module "bookmarksManager" { * Apply bookmark state. * * ```javascript - * bookmarksManager.applyState(bookmarkName) + * bookmarksManager.applyState(bookmarkState) * ``` * * @returns {Promise} @@ -1640,6 +1814,7 @@ declare module "bookmarksManager" { declare module "factories" { /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection + * @hidden */ import { IHpmFactory, IWpmpFactory, IRouterFactory } from "service"; export { IHpmFactory, IWpmpFactory, IRouterFactory }; @@ -1648,6 +1823,9 @@ declare module "factories" { export const routerFactory: IRouterFactory; } declare module "powerbi-client" { + /** + * @hidden + */ import * as service from "service"; import * as factories from "factories"; import * as models from 'powerbi-models'; diff --git a/dist/powerbi.js b/dist/powerbi.js index b99f2e3e..79707b42 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.10.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.11.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -55,6 +55,9 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (function(module, exports, __webpack_require__) { + /** + * @hidden + */ var service = __webpack_require__(1); exports.service = service; var factories = __webpack_require__(17); @@ -90,6 +93,9 @@ return /******/ (function(modules) { // webpackBootstrap /* 1 */ /***/ (function(module, exports, __webpack_require__) { + /** + * @hidden + */ var embed = __webpack_require__(2); var report_1 = __webpack_require__(7); var create_1 = __webpack_require__(12); @@ -114,6 +120,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {IWpmpFactory} wpmpFactory The window post message factory used in the postMessage communication layer * @param {IRouterFactory} routerFactory The router factory used in the postMessage communication layer * @param {IServiceConfiguration} [config={}] + * @hidden */ function Service(hpmFactory, wpmpFactory, routerFactory, config) { var _this = this; @@ -296,6 +303,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {IPowerBiElement} element * @param {embed.IEmbedConfigurationBase} config * @returns {embed.Embed} + * @hidden */ Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) { var componentType = config.type || element.getAttribute(embed.Embed.typeAttribute); @@ -320,6 +328,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {IPowerBiElement} element * @param {embed.IEmbedConfigurationBase} config * @returns {embed.Embed} + * @hidden */ Service.prototype.embedExisting = function (element, config, phasedRender) { var component = utils.find(function (x) { return x.element === element; }, this.embeds); @@ -439,6 +448,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @private * @param {IEvent} event + * @hidden */ Service.prototype.handleEvent = function (event) { var embed = utils.find(function (embed) { @@ -522,6 +532,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @export * @abstract + * @hidden * @class Embed */ var Embed = (function () { @@ -534,8 +545,10 @@ return /******/ (function(modules) { // webpackBootstrap * @param {service.Service} service * @param {HTMLElement} element * @param {IEmbedConfigurationBase} config + * @hidden */ function Embed(service, element, config, iframe, phasedRender, isBootstrap) { + /** @hidden */ this.allowedEvents = []; if (utils.autoAuthInEmbedUrl(config.embedUrl)) { throw new Error(errors_1.EmbedUrlNotSupported); @@ -545,9 +558,9 @@ return /******/ (function(modules) { // webpackBootstrap this.service = service; this.element = element; this.iframe = iframe; - this.embeType = config.type.toLowerCase(); + this.embedtype = config.type.toLowerCase(); this.populateConfig(config, isBootstrap); - if (this.embeType === 'create') { + if (this.embedtype === 'create') { this.setIframe(false /*set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); } else { @@ -749,6 +762,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @param {string} globalAccessToken * @returns {string} + * @hidden */ Embed.prototype.getAccessToken = function (globalAccessToken) { var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; @@ -760,6 +774,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * Populate config for create and load * + * @hidden * @param {IEmbedConfiguration} * @returns {void} */ @@ -793,6 +808,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @private * @param {IEmbedConfiguration} config + * @hidden */ Embed.prototype.addLocaleToEmbedUrl = function (config) { if (!config.settings) { @@ -811,6 +827,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @private * @returns {string} + * @hidden */ Embed.prototype.getEmbedUrl = function (isBootstrap) { var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); @@ -823,6 +840,9 @@ return /******/ (function(modules) { // webpackBootstrap } return embedUrl; }; + /** + * @hidden + */ Embed.prototype.getDefaultEmbedUrl = function (hostname) { if (!hostname) { hostname = Embed.defaultEmbedHostName; @@ -844,6 +864,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @private * @returns {string} + * @hidden */ Embed.prototype.getUniqueId = function () { return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); @@ -853,6 +874,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @private * @returns {string} + * @hidden */ Embed.prototype.getGroupId = function () { return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); @@ -881,6 +903,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @param {HTMLIFrameElement} iframe * @returns {boolean} + * @hidden */ Embed.prototype.isFullscreen = function (iframe) { var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; @@ -888,6 +911,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /** * Sets Iframe for embed + * @hidden */ Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { var _this = this; @@ -926,7 +950,7 @@ return /******/ (function(modules) { // webpackBootstrap } }; /** - * Sets Iframe's title + * Set the component title for accessibility. In case of iframes, this method will change the iframe title. */ Embed.prototype.setComponentTitle = function (title) { if (!this.iframe) { @@ -961,6 +985,7 @@ return /******/ (function(modules) { // webpackBootstrap * Adds the ability to get groupId from url. * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration. * + * @hidden * @static * @param {string} url * @returns {string} @@ -976,6 +1001,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /** * Sends the config for front load calls, after 'ready' message is received from the iframe + * @hidden */ Embed.prototype.frontLoadSendConfig = function (config) { if (!config.accessToken) { @@ -994,12 +1020,19 @@ return /******/ (function(modules) { // webpackBootstrap throw response.body; }); }; + /** @hidden */ Embed.allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked"]; + /** @hidden */ Embed.accessTokenAttribute = 'powerbi-access-token'; + /** @hidden */ Embed.embedUrlAttribute = 'powerbi-embed-url'; + /** @hidden */ Embed.nameAttribute = 'powerbi-name'; + /** @hidden */ Embed.typeAttribute = 'powerbi-type'; + /** @hidden */ Embed.defaultEmbedHostName = "https://app.powerbi.com/"; + /** @hidden */ Embed.maxFrontLoadTimes = 2; return Embed; }()); @@ -1209,8 +1242,11 @@ return /******/ (function(modules) { // webpackBootstrap /* 4 */ /***/ (function(module, exports) { + /** + * @hidden + */ var config = { - version: '2.10.4', + version: '2.11.0', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1221,7 +1257,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.3.2 | (c) 2016 Microsoft Corporation MIT */ + /*! powerbi-models v1.3.3 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -1231,7 +1267,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["powerbi-models"] = factory(); else root["powerbi-models"] = factory(); - })(this, function() { + })(window, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -1240,21 +1276,21 @@ return /******/ (function(modules) { // webpackBootstrap /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache - /******/ if(installedModules[moduleId]) + /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; - /******/ + /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { - /******/ exports: {}, - /******/ id: moduleId, - /******/ loaded: false + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded - /******/ module.loaded = true; + /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -1267,3312 +1303,3421 @@ return /******/ (function(modules) { // webpackBootstrap /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ + /******/ // define getter function for harmony exports + /******/ __webpack_require__.d = function(exports, name, getter) { + /******/ if(!__webpack_require__.o(exports, name)) { + /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); + /******/ } + /******/ }; + /******/ + /******/ // define __esModule on exports + /******/ __webpack_require__.r = function(exports) { + /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { + /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + /******/ } + /******/ Object.defineProperty(exports, '__esModule', { value: true }); + /******/ }; + /******/ + /******/ // create a fake namespace object + /******/ // mode & 1: value is a module id, require it + /******/ // mode & 2: merge all properties of value into the ns + /******/ // mode & 4: return value when already ns object + /******/ // mode & 8|1: behave like require + /******/ __webpack_require__.t = function(value, mode) { + /******/ if(mode & 1) value = __webpack_require__(value); + /******/ if(mode & 8) return value; + /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; + /******/ var ns = Object.create(null); + /******/ __webpack_require__.r(ns); + /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); + /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); + /******/ return ns; + /******/ }; + /******/ + /******/ // getDefaultExport function for compatibility with non-harmony modules + /******/ __webpack_require__.n = function(module) { + /******/ var getter = module && module.__esModule ? + /******/ function getDefault() { return module['default']; } : + /******/ function getModuleExports() { return module; }; + /******/ __webpack_require__.d(getter, 'a', getter); + /******/ return getter; + /******/ }; + /******/ + /******/ // Object.prototype.hasOwnProperty.call + /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; + /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ + /******/ /******/ // Load entry module and return exports - /******/ return __webpack_require__(0); + /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 }); - exports.Validators = __webpack_require__(1).Validators; - var TraceType; - (function (TraceType) { - TraceType[TraceType["Information"] = 0] = "Information"; - TraceType[TraceType["Verbose"] = 1] = "Verbose"; - TraceType[TraceType["Warning"] = 2] = "Warning"; - TraceType[TraceType["Error"] = 3] = "Error"; - TraceType[TraceType["ExpectedError"] = 4] = "ExpectedError"; - TraceType[TraceType["UnexpectedError"] = 5] = "UnexpectedError"; - TraceType[TraceType["Fatal"] = 6] = "Fatal"; - })(TraceType = exports.TraceType || (exports.TraceType = {})); - var PageSizeType; - (function (PageSizeType) { - PageSizeType[PageSizeType["Widescreen"] = 0] = "Widescreen"; - PageSizeType[PageSizeType["Standard"] = 1] = "Standard"; - PageSizeType[PageSizeType["Cortana"] = 2] = "Cortana"; - PageSizeType[PageSizeType["Letter"] = 3] = "Letter"; - PageSizeType[PageSizeType["Custom"] = 4] = "Custom"; - })(PageSizeType = exports.PageSizeType || (exports.PageSizeType = {})); - var DisplayOption; - (function (DisplayOption) { - DisplayOption[DisplayOption["FitToPage"] = 0] = "FitToPage"; - DisplayOption[DisplayOption["FitToWidth"] = 1] = "FitToWidth"; - DisplayOption[DisplayOption["ActualSize"] = 2] = "ActualSize"; - })(DisplayOption = exports.DisplayOption || (exports.DisplayOption = {})); - var BackgroundType; - (function (BackgroundType) { - BackgroundType[BackgroundType["Default"] = 0] = "Default"; - BackgroundType[BackgroundType["Transparent"] = 1] = "Transparent"; - })(BackgroundType = exports.BackgroundType || (exports.BackgroundType = {})); - var VisualContainerDisplayMode; - (function (VisualContainerDisplayMode) { - VisualContainerDisplayMode[VisualContainerDisplayMode["Visible"] = 0] = "Visible"; - VisualContainerDisplayMode[VisualContainerDisplayMode["Hidden"] = 1] = "Hidden"; - })(VisualContainerDisplayMode = exports.VisualContainerDisplayMode || (exports.VisualContainerDisplayMode = {})); - var LayoutType; - (function (LayoutType) { - LayoutType[LayoutType["Master"] = 0] = "Master"; - LayoutType[LayoutType["Custom"] = 1] = "Custom"; - LayoutType[LayoutType["MobilePortrait"] = 2] = "MobilePortrait"; - LayoutType[LayoutType["MobileLandscape"] = 3] = "MobileLandscape"; - })(LayoutType = exports.LayoutType || (exports.LayoutType = {})); - var HyperlinkClickBehavior; - (function (HyperlinkClickBehavior) { - HyperlinkClickBehavior[HyperlinkClickBehavior["Navigate"] = 0] = "Navigate"; - HyperlinkClickBehavior[HyperlinkClickBehavior["NavigateAndRaiseEvent"] = 1] = "NavigateAndRaiseEvent"; - HyperlinkClickBehavior[HyperlinkClickBehavior["RaiseEvent"] = 2] = "RaiseEvent"; - })(HyperlinkClickBehavior = exports.HyperlinkClickBehavior || (exports.HyperlinkClickBehavior = {})); - var SectionVisibility; - (function (SectionVisibility) { - SectionVisibility[SectionVisibility["AlwaysVisible"] = 0] = "AlwaysVisible"; - SectionVisibility[SectionVisibility["HiddenInViewMode"] = 1] = "HiddenInViewMode"; - })(SectionVisibility = exports.SectionVisibility || (exports.SectionVisibility = {})); - var Permissions; - (function (Permissions) { - Permissions[Permissions["Read"] = 0] = "Read"; - Permissions[Permissions["ReadWrite"] = 1] = "ReadWrite"; - Permissions[Permissions["Copy"] = 2] = "Copy"; - Permissions[Permissions["Create"] = 4] = "Create"; - Permissions[Permissions["All"] = 7] = "All"; - })(Permissions = exports.Permissions || (exports.Permissions = {})); - var ViewMode; - (function (ViewMode) { - ViewMode[ViewMode["View"] = 0] = "View"; - ViewMode[ViewMode["Edit"] = 1] = "Edit"; - })(ViewMode = exports.ViewMode || (exports.ViewMode = {})); - var TokenType; - (function (TokenType) { - TokenType[TokenType["Aad"] = 0] = "Aad"; - TokenType[TokenType["Embed"] = 1] = "Embed"; - })(TokenType = exports.TokenType || (exports.TokenType = {})); - var ContrastMode; - (function (ContrastMode) { - ContrastMode[ContrastMode["None"] = 0] = "None"; - ContrastMode[ContrastMode["HighContrast1"] = 1] = "HighContrast1"; - ContrastMode[ContrastMode["HighContrast2"] = 2] = "HighContrast2"; - ContrastMode[ContrastMode["HighContrastBlack"] = 3] = "HighContrastBlack"; - ContrastMode[ContrastMode["HighContrastWhite"] = 4] = "HighContrastWhite"; - })(ContrastMode = exports.ContrastMode || (exports.ContrastMode = {})); - var MenuLocation; - (function (MenuLocation) { - MenuLocation[MenuLocation["Bottom"] = 0] = "Bottom"; - MenuLocation[MenuLocation["Top"] = 1] = "Top"; - })(MenuLocation = exports.MenuLocation || (exports.MenuLocation = {})); - var FiltersLevel; - (function (FiltersLevel) { - FiltersLevel[FiltersLevel["Report"] = 0] = "Report"; - FiltersLevel[FiltersLevel["Page"] = 1] = "Page"; - FiltersLevel[FiltersLevel["Visual"] = 2] = "Visual"; - })(FiltersLevel = exports.FiltersLevel || (exports.FiltersLevel = {})); - var FilterType; - (function (FilterType) { - FilterType[FilterType["Advanced"] = 0] = "Advanced"; - FilterType[FilterType["Basic"] = 1] = "Basic"; - FilterType[FilterType["Unknown"] = 2] = "Unknown"; - FilterType[FilterType["IncludeExclude"] = 3] = "IncludeExclude"; - FilterType[FilterType["RelativeDate"] = 4] = "RelativeDate"; - FilterType[FilterType["TopN"] = 5] = "TopN"; - FilterType[FilterType["Tuple"] = 6] = "Tuple"; - })(FilterType = exports.FilterType || (exports.FilterType = {})); - var RelativeDateFilterTimeUnit; - (function (RelativeDateFilterTimeUnit) { - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Days"] = 0] = "Days"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Weeks"] = 1] = "Weeks"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarWeeks"] = 2] = "CalendarWeeks"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Months"] = 3] = "Months"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarMonths"] = 4] = "CalendarMonths"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Years"] = 5] = "Years"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarYears"] = 6] = "CalendarYears"; - })(RelativeDateFilterTimeUnit = exports.RelativeDateFilterTimeUnit || (exports.RelativeDateFilterTimeUnit = {})); - var RelativeDateOperators; - (function (RelativeDateOperators) { - RelativeDateOperators[RelativeDateOperators["InLast"] = 0] = "InLast"; - RelativeDateOperators[RelativeDateOperators["InThis"] = 1] = "InThis"; - RelativeDateOperators[RelativeDateOperators["InNext"] = 2] = "InNext"; - })(RelativeDateOperators = exports.RelativeDateOperators || (exports.RelativeDateOperators = {})); - var Filter = /** @class */ (function () { - function Filter(target, filterType) { - this.target = target; - this.filterType = filterType; - } - Filter.prototype.toJSON = function () { - var filter = { - $schema: this.schemaUrl, - target: this.target, - filterType: this.filterType - }; - // Add displaySettings only when defined - if (this.displaySettings !== undefined) { - filter.displaySettings = this.displaySettings; - } - return filter; - }; - ; - return Filter; - }()); - exports.Filter = Filter; - var NotSupportedFilter = /** @class */ (function (_super) { - __extends(NotSupportedFilter, _super); - function NotSupportedFilter(target, message, notSupportedTypeName) { - var _this = _super.call(this, target, FilterType.Unknown) || this; - _this.message = message; - _this.notSupportedTypeName = notSupportedTypeName; - _this.schemaUrl = NotSupportedFilter.schemaUrl; - return _this; - } - NotSupportedFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.message = this.message; - filter.notSupportedTypeName = this.notSupportedTypeName; - return filter; - }; - NotSupportedFilter.schemaUrl = "http://powerbi.com/product/schema#notSupported"; - return NotSupportedFilter; - }(Filter)); - exports.NotSupportedFilter = NotSupportedFilter; - var IncludeExcludeFilter = /** @class */ (function (_super) { - __extends(IncludeExcludeFilter, _super); - function IncludeExcludeFilter(target, isExclude, values) { - var _this = _super.call(this, target, FilterType.IncludeExclude) || this; - _this.values = values; - _this.isExclude = isExclude; - _this.schemaUrl = IncludeExcludeFilter.schemaUrl; - return _this; - } - IncludeExcludeFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.isExclude = this.isExclude; - filter.values = this.values; - return filter; - }; - IncludeExcludeFilter.schemaUrl = "http://powerbi.com/product/schema#includeExclude"; - return IncludeExcludeFilter; - }(Filter)); - exports.IncludeExcludeFilter = IncludeExcludeFilter; - var TopNFilter = /** @class */ (function (_super) { - __extends(TopNFilter, _super); - function TopNFilter(target, operator, itemCount, orderBy) { - var _this = _super.call(this, target, FilterType.TopN) || this; - _this.operator = operator; - _this.itemCount = itemCount; - _this.schemaUrl = TopNFilter.schemaUrl; - _this.orderBy = orderBy; - return _this; - } - TopNFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.operator = this.operator; - filter.itemCount = this.itemCount; - filter.orderBy = this.orderBy; - return filter; - }; - TopNFilter.schemaUrl = "http://powerbi.com/product/schema#topN"; - return TopNFilter; - }(Filter)); - exports.TopNFilter = TopNFilter; - var RelativeDateFilter = /** @class */ (function (_super) { - __extends(RelativeDateFilter, _super); - function RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday) { - var _this = _super.call(this, target, FilterType.RelativeDate) || this; - _this.operator = operator; - _this.timeUnitsCount = timeUnitsCount; - _this.timeUnitType = timeUnitType; - _this.includeToday = includeToday; - _this.schemaUrl = RelativeDateFilter.schemaUrl; - return _this; - } - RelativeDateFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.operator = this.operator; - filter.timeUnitsCount = this.timeUnitsCount; - filter.timeUnitType = this.timeUnitType; - filter.includeToday = this.includeToday; - return filter; - }; - RelativeDateFilter.schemaUrl = "http://powerbi.com/product/schema#relativeDate"; - return RelativeDateFilter; - }(Filter)); - exports.RelativeDateFilter = RelativeDateFilter; - var BasicFilter = /** @class */ (function (_super) { - __extends(BasicFilter, _super); - function BasicFilter(target, operator) { - var values = []; - for (var _i = 2; _i < arguments.length; _i++) { - values[_i - 2] = arguments[_i]; - } - var _this = _super.call(this, target, FilterType.Basic) || this; - _this.operator = operator; - _this.schemaUrl = BasicFilter.schemaUrl; - if (values.length === 0 && operator !== "All") { - throw new Error("values must be a non-empty array unless your operator is \"All\"."); - } - /** - * Accept values as array instead of as individual arguments - * new BasicFilter('a', 'b', 1, 2); - * new BasicFilter('a', 'b', [1,2]); - */ - if (Array.isArray(values[0])) { - _this.values = values[0]; - } - else { - _this.values = values; - } - return _this; - } - BasicFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.operator = this.operator; - filter.values = this.values; - filter.requireSingleSelection = !!this.requireSingleSelection; - return filter; - }; - BasicFilter.schemaUrl = "http://powerbi.com/product/schema#basic"; - return BasicFilter; - }(Filter)); - exports.BasicFilter = BasicFilter; - var BasicFilterWithKeys = /** @class */ (function (_super) { - __extends(BasicFilterWithKeys, _super); - function BasicFilterWithKeys(target, operator, values, keyValues) { - var _this = _super.call(this, target, operator, values) || this; - _this.keyValues = keyValues; - _this.target = target; - var numberOfKeys = target.keys ? target.keys.length : 0; - if (numberOfKeys > 0 && !keyValues) { - throw new Error("You should pass the values to be filtered for each key. You passed: no values and " + numberOfKeys + " keys"); - } - if (numberOfKeys === 0 && keyValues && keyValues.length > 0) { - throw new Error("You passed key values but your target object doesn't contain the keys to be filtered"); - } - for (var i = 0; i < _this.keyValues.length; i++) { - if (_this.keyValues[i]) { - var lengthOfArray = _this.keyValues[i].length; - if (lengthOfArray !== numberOfKeys) { - throw new Error("Each tuple of key values should contain a value for each of the keys. You passed: " + lengthOfArray + " values and " + numberOfKeys + " keys"); - } - } - } - return _this; - } - BasicFilterWithKeys.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.keyValues = this.keyValues; - return filter; - }; - return BasicFilterWithKeys; - }(BasicFilter)); - exports.BasicFilterWithKeys = BasicFilterWithKeys; - var TupleFilter = /** @class */ (function (_super) { - __extends(TupleFilter, _super); - function TupleFilter(target, operator, values) { - var _this = _super.call(this, target, FilterType.Tuple) || this; - _this.operator = operator; - _this.schemaUrl = TupleFilter.schemaUrl; - _this.values = values; - return _this; - } - TupleFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.operator = this.operator; - filter.values = this.values; - filter.target = this.target; - return filter; - }; - TupleFilter.schemaUrl = "http://powerbi.com/product/schema#tuple"; - return TupleFilter; - }(Filter)); - exports.TupleFilter = TupleFilter; - var AdvancedFilter = /** @class */ (function (_super) { - __extends(AdvancedFilter, _super); - function AdvancedFilter(target, logicalOperator) { - var conditions = []; - for (var _i = 2; _i < arguments.length; _i++) { - conditions[_i - 2] = arguments[_i]; - } - var _this = _super.call(this, target, FilterType.Advanced) || this; - _this.schemaUrl = AdvancedFilter.schemaUrl; - // Guard statements - if (typeof logicalOperator !== "string" || logicalOperator.length === 0) { - // TODO: It would be nicer to list out the possible logical operators. - throw new Error("logicalOperator must be a valid operator, You passed: " + logicalOperator); - } - _this.logicalOperator = logicalOperator; - var extractedConditions; - /** - * Accept conditions as array instead of as individual arguments - * new AdvancedFilter('a', 'b', "And", { value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }); - * new AdvancedFilter('a', 'b', "And", [{ value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }]); - */ - if (Array.isArray(conditions[0])) { - extractedConditions = conditions[0]; - } - else { - extractedConditions = conditions; - } - if (extractedConditions.length === 0) { - throw new Error("conditions must be a non-empty array. You passed: " + conditions); - } - if (extractedConditions.length > 2) { - throw new Error("AdvancedFilters may not have more than two conditions. You passed: " + conditions.length); - } - if (extractedConditions.length === 1 && logicalOperator !== "And") { - throw new Error("Logical Operator must be \"And\" when there is only one condition provided"); - } - _this.conditions = extractedConditions; - return _this; - } - AdvancedFilter.prototype.toJSON = function () { - var filter = _super.prototype.toJSON.call(this); - filter.logicalOperator = this.logicalOperator; - filter.conditions = this.conditions; - return filter; - }; - AdvancedFilter.schemaUrl = "http://powerbi.com/product/schema#advanced"; - return AdvancedFilter; - }(Filter)); - exports.AdvancedFilter = AdvancedFilter; - function isFilterKeyColumnsTarget(target) { - return isColumn(target) && !!target.keys; - } - exports.isFilterKeyColumnsTarget = isFilterKeyColumnsTarget; - function isBasicFilterWithKeys(filter) { - return getFilterType(filter) === FilterType.Basic && !!filter.keyValues; - } - exports.isBasicFilterWithKeys = isBasicFilterWithKeys; - function getFilterType(filter) { - if (filter.filterType) { - return filter.filterType; - } - var basicFilter = filter; - var advancedFilter = filter; - if ((typeof basicFilter.operator === "string") - && (Array.isArray(basicFilter.values))) { - return FilterType.Basic; - } - else if ((typeof advancedFilter.logicalOperator === "string") - && (Array.isArray(advancedFilter.conditions))) { - return FilterType.Advanced; - } - else { - return FilterType.Unknown; - } - } - exports.getFilterType = getFilterType; - function isMeasure(arg) { - return arg.table !== undefined && arg.measure !== undefined; - } - exports.isMeasure = isMeasure; - function isColumn(arg) { - return !!(arg.table && arg.column && !arg.aggregationFunction); - } - exports.isColumn = isColumn; - function isHierarchyLevel(arg) { - return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && !arg.aggregationFunction); - } - exports.isHierarchyLevel = isHierarchyLevel; - function isHierarchyLevelAggr(arg) { - return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && arg.aggregationFunction); - } - exports.isHierarchyLevelAggr = isHierarchyLevelAggr; - function isColumnAggr(arg) { - return !!(arg.table && arg.column && arg.aggregationFunction); - } - exports.isColumnAggr = isColumnAggr; - var QnaMode; - (function (QnaMode) { - QnaMode[QnaMode["Interactive"] = 0] = "Interactive"; - QnaMode[QnaMode["ResultOnly"] = 1] = "ResultOnly"; - })(QnaMode = exports.QnaMode || (exports.QnaMode = {})); - var ExportDataType; - (function (ExportDataType) { - ExportDataType[ExportDataType["Summarized"] = 0] = "Summarized"; - ExportDataType[ExportDataType["Underlying"] = 1] = "Underlying"; - })(ExportDataType = exports.ExportDataType || (exports.ExportDataType = {})); - var BookmarksPlayMode; - (function (BookmarksPlayMode) { - BookmarksPlayMode[BookmarksPlayMode["Off"] = 0] = "Off"; - BookmarksPlayMode[BookmarksPlayMode["Presentation"] = 1] = "Presentation"; - })(BookmarksPlayMode = exports.BookmarksPlayMode || (exports.BookmarksPlayMode = {})); - // This is not an enum because enum strings require - // us to upgrade typeScript version and change SDK build definition - exports.CommonErrorCodes = { - TokenExpired: 'TokenExpired', - NotFound: 'PowerBIEntityNotFound', - InvalidParameters: 'Invalid parameters', - LoadReportFailed: 'LoadReportFailed', - NotAuthorized: 'PowerBINotAuthorizedException', - FailedToLoadModel: 'ExplorationContainer_FailedToLoadModel_DefaultDetails', - }; - exports.TextAlignment = { - Left: 'left', - Center: 'center', - Right: 'right', - }; - exports.LegendPosition = { - Top: 'Top', - Bottom: 'Bottom', - Right: 'Right', - Left: 'Left', - TopCenter: 'TopCenter', - BottomCenter: 'BottomCenter', - RightCenter: 'RightCenter', - LeftCenter: 'LeftCenter', - }; - var SortDirection; - (function (SortDirection) { - SortDirection[SortDirection["Ascending"] = 1] = "Ascending"; - SortDirection[SortDirection["Descending"] = 2] = "Descending"; - })(SortDirection = exports.SortDirection || (exports.SortDirection = {})); - var Selector = /** @class */ (function () { - function Selector(schema) { - this.$schema = schema; - } - Selector.prototype.toJSON = function () { - return { - $schema: this.$schema - }; - }; - ; - return Selector; - }()); - exports.Selector = Selector; - var PageSelector = /** @class */ (function (_super) { - __extends(PageSelector, _super); - function PageSelector(pageName) { - var _this = _super.call(this, PageSelector.schemaUrl) || this; - _this.pageName = pageName; - return _this; - } - PageSelector.prototype.toJSON = function () { - var selector = _super.prototype.toJSON.call(this); - selector.pageName = this.pageName; - return selector; - }; - PageSelector.schemaUrl = "http://powerbi.com/product/schema#pageSelector"; - return PageSelector; - }(Selector)); - exports.PageSelector = PageSelector; - var VisualSelector = /** @class */ (function (_super) { - __extends(VisualSelector, _super); - function VisualSelector(visualName) { - var _this = _super.call(this, VisualSelector.schemaUrl) || this; - _this.visualName = visualName; - return _this; - } - VisualSelector.prototype.toJSON = function () { - var selector = _super.prototype.toJSON.call(this); - selector.visualName = this.visualName; - return selector; - }; - VisualSelector.schemaUrl = "http://powerbi.com/product/schema#visualSelector"; - return VisualSelector; - }(Selector)); - exports.VisualSelector = VisualSelector; - var VisualTypeSelector = /** @class */ (function (_super) { - __extends(VisualTypeSelector, _super); - function VisualTypeSelector(visualType) { - var _this = _super.call(this, VisualSelector.schemaUrl) || this; - _this.visualType = visualType; - return _this; - } - VisualTypeSelector.prototype.toJSON = function () { - var selector = _super.prototype.toJSON.call(this); - selector.visualType = this.visualType; - return selector; - }; - VisualTypeSelector.schemaUrl = "http://powerbi.com/product/schema#visualTypeSelector"; - return VisualTypeSelector; - }(Selector)); - exports.VisualTypeSelector = VisualTypeSelector; - var SlicerTargetSelector = /** @class */ (function (_super) { - __extends(SlicerTargetSelector, _super); - function SlicerTargetSelector(target) { - var _this = _super.call(this, VisualSelector.schemaUrl) || this; - _this.target = target; - return _this; - } - SlicerTargetSelector.prototype.toJSON = function () { - var selector = _super.prototype.toJSON.call(this); - selector.target = this.target; - return selector; - }; - SlicerTargetSelector.schemaUrl = "http://powerbi.com/product/schema#slicerTargetSelector"; - return SlicerTargetSelector; - }(Selector)); - exports.SlicerTargetSelector = SlicerTargetSelector; - var CommandDisplayOption; - (function (CommandDisplayOption) { - CommandDisplayOption[CommandDisplayOption["Enabled"] = 0] = "Enabled"; - CommandDisplayOption[CommandDisplayOption["Disabled"] = 1] = "Disabled"; - CommandDisplayOption[CommandDisplayOption["Hidden"] = 2] = "Hidden"; - })(CommandDisplayOption = exports.CommandDisplayOption || (exports.CommandDisplayOption = {})); - /* - * Visual CRUD - */ - var VisualDataRoleKind; - (function (VisualDataRoleKind) { - // Indicates that the role should be bound to something that evaluates to a grouping of values. - VisualDataRoleKind[VisualDataRoleKind["Grouping"] = 0] = "Grouping"; - // Indicates that the role should be bound to something that evaluates to a single value in a scope. - VisualDataRoleKind[VisualDataRoleKind["Measure"] = 1] = "Measure"; - // Indicates that the role can be bound to either Grouping or Measure. - VisualDataRoleKind[VisualDataRoleKind["GroupingOrMeasure"] = 2] = "GroupingOrMeasure"; - })(VisualDataRoleKind = exports.VisualDataRoleKind || (exports.VisualDataRoleKind = {})); - // Indicates the visual preference on Grouping or Measure. Only applicable if kind is GroupingOrMeasure. - var VisualDataRoleKindPreference; - (function (VisualDataRoleKindPreference) { - VisualDataRoleKindPreference[VisualDataRoleKindPreference["Measure"] = 0] = "Measure"; - VisualDataRoleKindPreference[VisualDataRoleKindPreference["Grouping"] = 1] = "Grouping"; - })(VisualDataRoleKindPreference = exports.VisualDataRoleKindPreference || (exports.VisualDataRoleKindPreference = {})); - function normalizeError(error) { - var message = error.message; - if (!message) { - message = error.path + " is invalid. Not meeting " + error.keyword + " constraint"; - } - return { - message: message - }; - } - function validateVisualSelector(input) { - var errors = exports.Validators.visualSelectorValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualSelector = validateVisualSelector; - function validateSlicer(input) { - var errors = exports.Validators.slicerValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSlicer = validateSlicer; - function validateSlicerState(input) { - var errors = exports.Validators.slicerStateValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSlicerState = validateSlicerState; - function validatePlayBookmarkRequest(input) { - var errors = exports.Validators.playBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; - function validateAddBookmarkRequest(input) { - var errors = exports.Validators.addBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateAddBookmarkRequest = validateAddBookmarkRequest; - function validateApplyBookmarkByNameRequest(input) { - var errors = exports.Validators.applyBookmarkByNameRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; - function validateApplyBookmarkStateRequest(input) { - var errors = exports.Validators.applyBookmarkStateRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; - function validateSettings(input) { - var errors = exports.Validators.settingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSettings = validateSettings; - function validateCustomPageSize(input) { - var errors = exports.Validators.customPageSizeValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCustomPageSize = validateCustomPageSize; - function validateExtension(input) { - var errors = exports.Validators.extensionValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateExtension = validateExtension; - function validateReportLoad(input) { - var errors = exports.Validators.reportLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateReportLoad = validateReportLoad; - function validateCreateReport(input) { - var errors = exports.Validators.reportCreateValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCreateReport = validateCreateReport; - function validateDashboardLoad(input) { - var errors = exports.Validators.dashboardLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateDashboardLoad = validateDashboardLoad; - function validateTileLoad(input) { - var errors = exports.Validators.tileLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateTileLoad = validateTileLoad; - function validatePage(input) { - var errors = exports.Validators.pageValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validatePage = validatePage; - function validateFilter(input) { - var errors = exports.Validators.filtersValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateFilter = validateFilter; - function validateSaveAsParameters(input) { - var errors = exports.Validators.saveAsParametersValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSaveAsParameters = validateSaveAsParameters; - function validateLoadQnaConfiguration(input) { - var errors = exports.Validators.loadQnaValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; - function validateQnaInterpretInputData(input) { - var errors = exports.Validators.qnaInterpretInputDataValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateQnaInterpretInputData = validateQnaInterpretInputData; - function validateExportDataRequest(input) { - var errors = exports.Validators.exportDataRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateExportDataRequest = validateExportDataRequest; - function validateVisualHeader(input) { - var errors = exports.Validators.visualHeaderValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualHeader = validateVisualHeader; - function validateVisualSettings(input) { - var errors = exports.Validators.visualSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualSettings = validateVisualSettings; - function validateCommandsSettings(input) { - var errors = exports.Validators.commandsSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCommandsSettings = validateCommandsSettings; - function validateCustomTheme(input) { - var errors = exports.Validators.customThemeValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCustomTheme = validateCustomTheme; + 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 }); + exports.Validators = __webpack_require__(1).Validators; + var TraceType; + (function (TraceType) { + TraceType[TraceType["Information"] = 0] = "Information"; + TraceType[TraceType["Verbose"] = 1] = "Verbose"; + TraceType[TraceType["Warning"] = 2] = "Warning"; + TraceType[TraceType["Error"] = 3] = "Error"; + TraceType[TraceType["ExpectedError"] = 4] = "ExpectedError"; + TraceType[TraceType["UnexpectedError"] = 5] = "UnexpectedError"; + TraceType[TraceType["Fatal"] = 6] = "Fatal"; + })(TraceType = exports.TraceType || (exports.TraceType = {})); + var PageSizeType; + (function (PageSizeType) { + PageSizeType[PageSizeType["Widescreen"] = 0] = "Widescreen"; + PageSizeType[PageSizeType["Standard"] = 1] = "Standard"; + PageSizeType[PageSizeType["Cortana"] = 2] = "Cortana"; + PageSizeType[PageSizeType["Letter"] = 3] = "Letter"; + PageSizeType[PageSizeType["Custom"] = 4] = "Custom"; + })(PageSizeType = exports.PageSizeType || (exports.PageSizeType = {})); + var DisplayOption; + (function (DisplayOption) { + DisplayOption[DisplayOption["FitToPage"] = 0] = "FitToPage"; + DisplayOption[DisplayOption["FitToWidth"] = 1] = "FitToWidth"; + DisplayOption[DisplayOption["ActualSize"] = 2] = "ActualSize"; + })(DisplayOption = exports.DisplayOption || (exports.DisplayOption = {})); + var BackgroundType; + (function (BackgroundType) { + BackgroundType[BackgroundType["Default"] = 0] = "Default"; + BackgroundType[BackgroundType["Transparent"] = 1] = "Transparent"; + })(BackgroundType = exports.BackgroundType || (exports.BackgroundType = {})); + var VisualContainerDisplayMode; + (function (VisualContainerDisplayMode) { + VisualContainerDisplayMode[VisualContainerDisplayMode["Visible"] = 0] = "Visible"; + VisualContainerDisplayMode[VisualContainerDisplayMode["Hidden"] = 1] = "Hidden"; + })(VisualContainerDisplayMode = exports.VisualContainerDisplayMode || (exports.VisualContainerDisplayMode = {})); + var LayoutType; + (function (LayoutType) { + LayoutType[LayoutType["Master"] = 0] = "Master"; + LayoutType[LayoutType["Custom"] = 1] = "Custom"; + LayoutType[LayoutType["MobilePortrait"] = 2] = "MobilePortrait"; + LayoutType[LayoutType["MobileLandscape"] = 3] = "MobileLandscape"; + })(LayoutType = exports.LayoutType || (exports.LayoutType = {})); + var HyperlinkClickBehavior; + (function (HyperlinkClickBehavior) { + HyperlinkClickBehavior[HyperlinkClickBehavior["Navigate"] = 0] = "Navigate"; + HyperlinkClickBehavior[HyperlinkClickBehavior["NavigateAndRaiseEvent"] = 1] = "NavigateAndRaiseEvent"; + HyperlinkClickBehavior[HyperlinkClickBehavior["RaiseEvent"] = 2] = "RaiseEvent"; + })(HyperlinkClickBehavior = exports.HyperlinkClickBehavior || (exports.HyperlinkClickBehavior = {})); + var SectionVisibility; + (function (SectionVisibility) { + SectionVisibility[SectionVisibility["AlwaysVisible"] = 0] = "AlwaysVisible"; + SectionVisibility[SectionVisibility["HiddenInViewMode"] = 1] = "HiddenInViewMode"; + })(SectionVisibility = exports.SectionVisibility || (exports.SectionVisibility = {})); + var Permissions; + (function (Permissions) { + Permissions[Permissions["Read"] = 0] = "Read"; + Permissions[Permissions["ReadWrite"] = 1] = "ReadWrite"; + Permissions[Permissions["Copy"] = 2] = "Copy"; + Permissions[Permissions["Create"] = 4] = "Create"; + Permissions[Permissions["All"] = 7] = "All"; + })(Permissions = exports.Permissions || (exports.Permissions = {})); + var ViewMode; + (function (ViewMode) { + ViewMode[ViewMode["View"] = 0] = "View"; + ViewMode[ViewMode["Edit"] = 1] = "Edit"; + })(ViewMode = exports.ViewMode || (exports.ViewMode = {})); + var TokenType; + (function (TokenType) { + TokenType[TokenType["Aad"] = 0] = "Aad"; + TokenType[TokenType["Embed"] = 1] = "Embed"; + })(TokenType = exports.TokenType || (exports.TokenType = {})); + var ContrastMode; + (function (ContrastMode) { + ContrastMode[ContrastMode["None"] = 0] = "None"; + ContrastMode[ContrastMode["HighContrast1"] = 1] = "HighContrast1"; + ContrastMode[ContrastMode["HighContrast2"] = 2] = "HighContrast2"; + ContrastMode[ContrastMode["HighContrastBlack"] = 3] = "HighContrastBlack"; + ContrastMode[ContrastMode["HighContrastWhite"] = 4] = "HighContrastWhite"; + })(ContrastMode = exports.ContrastMode || (exports.ContrastMode = {})); + var MenuLocation; + (function (MenuLocation) { + MenuLocation[MenuLocation["Bottom"] = 0] = "Bottom"; + MenuLocation[MenuLocation["Top"] = 1] = "Top"; + })(MenuLocation = exports.MenuLocation || (exports.MenuLocation = {})); + var FiltersLevel; + (function (FiltersLevel) { + FiltersLevel[FiltersLevel["Report"] = 0] = "Report"; + FiltersLevel[FiltersLevel["Page"] = 1] = "Page"; + FiltersLevel[FiltersLevel["Visual"] = 2] = "Visual"; + })(FiltersLevel = exports.FiltersLevel || (exports.FiltersLevel = {})); + var FilterType; + (function (FilterType) { + FilterType[FilterType["Advanced"] = 0] = "Advanced"; + FilterType[FilterType["Basic"] = 1] = "Basic"; + FilterType[FilterType["Unknown"] = 2] = "Unknown"; + FilterType[FilterType["IncludeExclude"] = 3] = "IncludeExclude"; + FilterType[FilterType["RelativeDate"] = 4] = "RelativeDate"; + FilterType[FilterType["TopN"] = 5] = "TopN"; + FilterType[FilterType["Tuple"] = 6] = "Tuple"; + })(FilterType = exports.FilterType || (exports.FilterType = {})); + var RelativeDateFilterTimeUnit; + (function (RelativeDateFilterTimeUnit) { + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Days"] = 0] = "Days"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Weeks"] = 1] = "Weeks"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarWeeks"] = 2] = "CalendarWeeks"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Months"] = 3] = "Months"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarMonths"] = 4] = "CalendarMonths"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Years"] = 5] = "Years"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarYears"] = 6] = "CalendarYears"; + })(RelativeDateFilterTimeUnit = exports.RelativeDateFilterTimeUnit || (exports.RelativeDateFilterTimeUnit = {})); + var RelativeDateOperators; + (function (RelativeDateOperators) { + RelativeDateOperators[RelativeDateOperators["InLast"] = 0] = "InLast"; + RelativeDateOperators[RelativeDateOperators["InThis"] = 1] = "InThis"; + RelativeDateOperators[RelativeDateOperators["InNext"] = 2] = "InNext"; + })(RelativeDateOperators = exports.RelativeDateOperators || (exports.RelativeDateOperators = {})); + var Filter = /** @class */ (function () { + function Filter(target, filterType) { + this.target = target; + this.filterType = filterType; + } + Filter.prototype.toJSON = function () { + var filter = { + $schema: this.schemaUrl, + target: this.target, + filterType: this.filterType + }; + // Add displaySettings only when defined + if (this.displaySettings !== undefined) { + filter.displaySettings = this.displaySettings; + } + return filter; + }; + ; + return Filter; + }()); + exports.Filter = Filter; + var NotSupportedFilter = /** @class */ (function (_super) { + __extends(NotSupportedFilter, _super); + function NotSupportedFilter(target, message, notSupportedTypeName) { + var _this = _super.call(this, target, FilterType.Unknown) || this; + _this.message = message; + _this.notSupportedTypeName = notSupportedTypeName; + _this.schemaUrl = NotSupportedFilter.schemaUrl; + return _this; + } + NotSupportedFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.message = this.message; + filter.notSupportedTypeName = this.notSupportedTypeName; + return filter; + }; + NotSupportedFilter.schemaUrl = "http://powerbi.com/product/schema#notSupported"; + return NotSupportedFilter; + }(Filter)); + exports.NotSupportedFilter = NotSupportedFilter; + var IncludeExcludeFilter = /** @class */ (function (_super) { + __extends(IncludeExcludeFilter, _super); + function IncludeExcludeFilter(target, isExclude, values) { + var _this = _super.call(this, target, FilterType.IncludeExclude) || this; + _this.values = values; + _this.isExclude = isExclude; + _this.schemaUrl = IncludeExcludeFilter.schemaUrl; + return _this; + } + IncludeExcludeFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.isExclude = this.isExclude; + filter.values = this.values; + return filter; + }; + IncludeExcludeFilter.schemaUrl = "http://powerbi.com/product/schema#includeExclude"; + return IncludeExcludeFilter; + }(Filter)); + exports.IncludeExcludeFilter = IncludeExcludeFilter; + var TopNFilter = /** @class */ (function (_super) { + __extends(TopNFilter, _super); + function TopNFilter(target, operator, itemCount, orderBy) { + var _this = _super.call(this, target, FilterType.TopN) || this; + _this.operator = operator; + _this.itemCount = itemCount; + _this.schemaUrl = TopNFilter.schemaUrl; + _this.orderBy = orderBy; + return _this; + } + TopNFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.operator = this.operator; + filter.itemCount = this.itemCount; + filter.orderBy = this.orderBy; + return filter; + }; + TopNFilter.schemaUrl = "http://powerbi.com/product/schema#topN"; + return TopNFilter; + }(Filter)); + exports.TopNFilter = TopNFilter; + var RelativeDateFilter = /** @class */ (function (_super) { + __extends(RelativeDateFilter, _super); + function RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday) { + var _this = _super.call(this, target, FilterType.RelativeDate) || this; + _this.operator = operator; + _this.timeUnitsCount = timeUnitsCount; + _this.timeUnitType = timeUnitType; + _this.includeToday = includeToday; + _this.schemaUrl = RelativeDateFilter.schemaUrl; + return _this; + } + RelativeDateFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.operator = this.operator; + filter.timeUnitsCount = this.timeUnitsCount; + filter.timeUnitType = this.timeUnitType; + filter.includeToday = this.includeToday; + return filter; + }; + RelativeDateFilter.schemaUrl = "http://powerbi.com/product/schema#relativeDate"; + return RelativeDateFilter; + }(Filter)); + exports.RelativeDateFilter = RelativeDateFilter; + var BasicFilter = /** @class */ (function (_super) { + __extends(BasicFilter, _super); + function BasicFilter(target, operator) { + var values = []; + for (var _i = 2; _i < arguments.length; _i++) { + values[_i - 2] = arguments[_i]; + } + var _this = _super.call(this, target, FilterType.Basic) || this; + _this.operator = operator; + _this.schemaUrl = BasicFilter.schemaUrl; + if (values.length === 0 && operator !== "All") { + throw new Error("values must be a non-empty array unless your operator is \"All\"."); + } + /** + * Accept values as array instead of as individual arguments + * new BasicFilter('a', 'b', 1, 2); + * new BasicFilter('a', 'b', [1,2]); + */ + if (Array.isArray(values[0])) { + _this.values = values[0]; + } + else { + _this.values = values; + } + return _this; + } + BasicFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.operator = this.operator; + filter.values = this.values; + filter.requireSingleSelection = !!this.requireSingleSelection; + return filter; + }; + BasicFilter.schemaUrl = "http://powerbi.com/product/schema#basic"; + return BasicFilter; + }(Filter)); + exports.BasicFilter = BasicFilter; + var BasicFilterWithKeys = /** @class */ (function (_super) { + __extends(BasicFilterWithKeys, _super); + function BasicFilterWithKeys(target, operator, values, keyValues) { + var _this = _super.call(this, target, operator, values) || this; + _this.keyValues = keyValues; + _this.target = target; + var numberOfKeys = target.keys ? target.keys.length : 0; + if (numberOfKeys > 0 && !keyValues) { + throw new Error("You should pass the values to be filtered for each key. You passed: no values and " + numberOfKeys + " keys"); + } + if (numberOfKeys === 0 && keyValues && keyValues.length > 0) { + throw new Error("You passed key values but your target object doesn't contain the keys to be filtered"); + } + for (var i = 0; i < _this.keyValues.length; i++) { + if (_this.keyValues[i]) { + var lengthOfArray = _this.keyValues[i].length; + if (lengthOfArray !== numberOfKeys) { + throw new Error("Each tuple of key values should contain a value for each of the keys. You passed: " + lengthOfArray + " values and " + numberOfKeys + " keys"); + } + } + } + return _this; + } + BasicFilterWithKeys.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.keyValues = this.keyValues; + return filter; + }; + return BasicFilterWithKeys; + }(BasicFilter)); + exports.BasicFilterWithKeys = BasicFilterWithKeys; + var TupleFilter = /** @class */ (function (_super) { + __extends(TupleFilter, _super); + function TupleFilter(target, operator, values) { + var _this = _super.call(this, target, FilterType.Tuple) || this; + _this.operator = operator; + _this.schemaUrl = TupleFilter.schemaUrl; + _this.values = values; + return _this; + } + TupleFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.operator = this.operator; + filter.values = this.values; + filter.target = this.target; + return filter; + }; + TupleFilter.schemaUrl = "http://powerbi.com/product/schema#tuple"; + return TupleFilter; + }(Filter)); + exports.TupleFilter = TupleFilter; + var AdvancedFilter = /** @class */ (function (_super) { + __extends(AdvancedFilter, _super); + function AdvancedFilter(target, logicalOperator) { + var conditions = []; + for (var _i = 2; _i < arguments.length; _i++) { + conditions[_i - 2] = arguments[_i]; + } + var _this = _super.call(this, target, FilterType.Advanced) || this; + _this.schemaUrl = AdvancedFilter.schemaUrl; + // Guard statements + if (typeof logicalOperator !== "string" || logicalOperator.length === 0) { + // TODO: It would be nicer to list out the possible logical operators. + throw new Error("logicalOperator must be a valid operator, You passed: " + logicalOperator); + } + _this.logicalOperator = logicalOperator; + var extractedConditions; + /** + * Accept conditions as array instead of as individual arguments + * new AdvancedFilter('a', 'b', "And", { value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }); + * new AdvancedFilter('a', 'b', "And", [{ value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }]); + */ + if (Array.isArray(conditions[0])) { + extractedConditions = conditions[0]; + } + else { + extractedConditions = conditions; + } + if (extractedConditions.length === 0) { + throw new Error("conditions must be a non-empty array. You passed: " + conditions); + } + if (extractedConditions.length > 2) { + throw new Error("AdvancedFilters may not have more than two conditions. You passed: " + conditions.length); + } + if (extractedConditions.length === 1 && logicalOperator !== "And") { + throw new Error("Logical Operator must be \"And\" when there is only one condition provided"); + } + _this.conditions = extractedConditions; + return _this; + } + AdvancedFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.logicalOperator = this.logicalOperator; + filter.conditions = this.conditions; + return filter; + }; + AdvancedFilter.schemaUrl = "http://powerbi.com/product/schema#advanced"; + return AdvancedFilter; + }(Filter)); + exports.AdvancedFilter = AdvancedFilter; + function isFilterKeyColumnsTarget(target) { + return isColumn(target) && !!target.keys; + } + exports.isFilterKeyColumnsTarget = isFilterKeyColumnsTarget; + function isBasicFilterWithKeys(filter) { + return getFilterType(filter) === FilterType.Basic && !!filter.keyValues; + } + exports.isBasicFilterWithKeys = isBasicFilterWithKeys; + function getFilterType(filter) { + if (filter.filterType) { + return filter.filterType; + } + var basicFilter = filter; + var advancedFilter = filter; + if ((typeof basicFilter.operator === "string") + && (Array.isArray(basicFilter.values))) { + return FilterType.Basic; + } + else if ((typeof advancedFilter.logicalOperator === "string") + && (Array.isArray(advancedFilter.conditions))) { + return FilterType.Advanced; + } + else { + return FilterType.Unknown; + } + } + exports.getFilterType = getFilterType; + function isMeasure(arg) { + return arg.table !== undefined && arg.measure !== undefined; + } + exports.isMeasure = isMeasure; + function isColumn(arg) { + return !!(arg.table && arg.column && !arg.aggregationFunction); + } + exports.isColumn = isColumn; + function isHierarchyLevel(arg) { + return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && !arg.aggregationFunction); + } + exports.isHierarchyLevel = isHierarchyLevel; + function isHierarchyLevelAggr(arg) { + return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && arg.aggregationFunction); + } + exports.isHierarchyLevelAggr = isHierarchyLevelAggr; + function isColumnAggr(arg) { + return !!(arg.table && arg.column && arg.aggregationFunction); + } + exports.isColumnAggr = isColumnAggr; + var QnaMode; + (function (QnaMode) { + QnaMode[QnaMode["Interactive"] = 0] = "Interactive"; + QnaMode[QnaMode["ResultOnly"] = 1] = "ResultOnly"; + })(QnaMode = exports.QnaMode || (exports.QnaMode = {})); + var ExportDataType; + (function (ExportDataType) { + ExportDataType[ExportDataType["Summarized"] = 0] = "Summarized"; + ExportDataType[ExportDataType["Underlying"] = 1] = "Underlying"; + })(ExportDataType = exports.ExportDataType || (exports.ExportDataType = {})); + var BookmarksPlayMode; + (function (BookmarksPlayMode) { + BookmarksPlayMode[BookmarksPlayMode["Off"] = 0] = "Off"; + BookmarksPlayMode[BookmarksPlayMode["Presentation"] = 1] = "Presentation"; + })(BookmarksPlayMode = exports.BookmarksPlayMode || (exports.BookmarksPlayMode = {})); + // This is not an enum because enum strings require + // us to upgrade typeScript version and change SDK build definition + exports.CommonErrorCodes = { + TokenExpired: 'TokenExpired', + NotFound: 'PowerBIEntityNotFound', + InvalidParameters: 'Invalid parameters', + LoadReportFailed: 'LoadReportFailed', + NotAuthorized: 'PowerBINotAuthorizedException', + FailedToLoadModel: 'ExplorationContainer_FailedToLoadModel_DefaultDetails', + }; + exports.TextAlignment = { + Left: 'left', + Center: 'center', + Right: 'right', + }; + exports.LegendPosition = { + Top: 'Top', + Bottom: 'Bottom', + Right: 'Right', + Left: 'Left', + TopCenter: 'TopCenter', + BottomCenter: 'BottomCenter', + RightCenter: 'RightCenter', + LeftCenter: 'LeftCenter', + }; + var SortDirection; + (function (SortDirection) { + SortDirection[SortDirection["Ascending"] = 1] = "Ascending"; + SortDirection[SortDirection["Descending"] = 2] = "Descending"; + })(SortDirection = exports.SortDirection || (exports.SortDirection = {})); + var Selector = /** @class */ (function () { + function Selector(schema) { + this.$schema = schema; + } + Selector.prototype.toJSON = function () { + return { + $schema: this.$schema + }; + }; + ; + return Selector; + }()); + exports.Selector = Selector; + var PageSelector = /** @class */ (function (_super) { + __extends(PageSelector, _super); + function PageSelector(pageName) { + var _this = _super.call(this, PageSelector.schemaUrl) || this; + _this.pageName = pageName; + return _this; + } + PageSelector.prototype.toJSON = function () { + var selector = _super.prototype.toJSON.call(this); + selector.pageName = this.pageName; + return selector; + }; + PageSelector.schemaUrl = "http://powerbi.com/product/schema#pageSelector"; + return PageSelector; + }(Selector)); + exports.PageSelector = PageSelector; + var VisualSelector = /** @class */ (function (_super) { + __extends(VisualSelector, _super); + function VisualSelector(visualName) { + var _this = _super.call(this, VisualSelector.schemaUrl) || this; + _this.visualName = visualName; + return _this; + } + VisualSelector.prototype.toJSON = function () { + var selector = _super.prototype.toJSON.call(this); + selector.visualName = this.visualName; + return selector; + }; + VisualSelector.schemaUrl = "http://powerbi.com/product/schema#visualSelector"; + return VisualSelector; + }(Selector)); + exports.VisualSelector = VisualSelector; + var VisualTypeSelector = /** @class */ (function (_super) { + __extends(VisualTypeSelector, _super); + function VisualTypeSelector(visualType) { + var _this = _super.call(this, VisualSelector.schemaUrl) || this; + _this.visualType = visualType; + return _this; + } + VisualTypeSelector.prototype.toJSON = function () { + var selector = _super.prototype.toJSON.call(this); + selector.visualType = this.visualType; + return selector; + }; + VisualTypeSelector.schemaUrl = "http://powerbi.com/product/schema#visualTypeSelector"; + return VisualTypeSelector; + }(Selector)); + exports.VisualTypeSelector = VisualTypeSelector; + var SlicerTargetSelector = /** @class */ (function (_super) { + __extends(SlicerTargetSelector, _super); + function SlicerTargetSelector(target) { + var _this = _super.call(this, VisualSelector.schemaUrl) || this; + _this.target = target; + return _this; + } + SlicerTargetSelector.prototype.toJSON = function () { + var selector = _super.prototype.toJSON.call(this); + selector.target = this.target; + return selector; + }; + SlicerTargetSelector.schemaUrl = "http://powerbi.com/product/schema#slicerTargetSelector"; + return SlicerTargetSelector; + }(Selector)); + exports.SlicerTargetSelector = SlicerTargetSelector; + var CommandDisplayOption; + (function (CommandDisplayOption) { + CommandDisplayOption[CommandDisplayOption["Enabled"] = 0] = "Enabled"; + CommandDisplayOption[CommandDisplayOption["Disabled"] = 1] = "Disabled"; + CommandDisplayOption[CommandDisplayOption["Hidden"] = 2] = "Hidden"; + })(CommandDisplayOption = exports.CommandDisplayOption || (exports.CommandDisplayOption = {})); + /* + * Visual CRUD + */ + var VisualDataRoleKind; + (function (VisualDataRoleKind) { + // Indicates that the role should be bound to something that evaluates to a grouping of values. + VisualDataRoleKind[VisualDataRoleKind["Grouping"] = 0] = "Grouping"; + // Indicates that the role should be bound to something that evaluates to a single value in a scope. + VisualDataRoleKind[VisualDataRoleKind["Measure"] = 1] = "Measure"; + // Indicates that the role can be bound to either Grouping or Measure. + VisualDataRoleKind[VisualDataRoleKind["GroupingOrMeasure"] = 2] = "GroupingOrMeasure"; + })(VisualDataRoleKind = exports.VisualDataRoleKind || (exports.VisualDataRoleKind = {})); + // Indicates the visual preference on Grouping or Measure. Only applicable if kind is GroupingOrMeasure. + var VisualDataRoleKindPreference; + (function (VisualDataRoleKindPreference) { + VisualDataRoleKindPreference[VisualDataRoleKindPreference["Measure"] = 0] = "Measure"; + VisualDataRoleKindPreference[VisualDataRoleKindPreference["Grouping"] = 1] = "Grouping"; + })(VisualDataRoleKindPreference = exports.VisualDataRoleKindPreference || (exports.VisualDataRoleKindPreference = {})); + function normalizeError(error) { + var message = error.message; + if (!message) { + message = error.path + " is invalid. Not meeting " + error.keyword + " constraint"; + } + return { + message: message + }; + } + function validateVisualSelector(input) { + var errors = exports.Validators.visualSelectorValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateVisualSelector = validateVisualSelector; + function validateSlicer(input) { + var errors = exports.Validators.slicerValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateSlicer = validateSlicer; + function validateSlicerState(input) { + var errors = exports.Validators.slicerStateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateSlicerState = validateSlicerState; + function validatePlayBookmarkRequest(input) { + var errors = exports.Validators.playBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; + function validateAddBookmarkRequest(input) { + var errors = exports.Validators.addBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateAddBookmarkRequest = validateAddBookmarkRequest; + function validateApplyBookmarkByNameRequest(input) { + var errors = exports.Validators.applyBookmarkByNameRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; + function validateApplyBookmarkStateRequest(input) { + var errors = exports.Validators.applyBookmarkStateRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; + function validateSettings(input) { + var errors = exports.Validators.settingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateSettings = validateSettings; + function validateCustomPageSize(input) { + var errors = exports.Validators.customPageSizeValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateCustomPageSize = validateCustomPageSize; + function validateExtension(input) { + var errors = exports.Validators.extensionValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateExtension = validateExtension; + function validateReportLoad(input) { + var errors = exports.Validators.reportLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateReportLoad = validateReportLoad; + function validateCreateReport(input) { + var errors = exports.Validators.reportCreateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateCreateReport = validateCreateReport; + function validateDashboardLoad(input) { + var errors = exports.Validators.dashboardLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateDashboardLoad = validateDashboardLoad; + function validateTileLoad(input) { + var errors = exports.Validators.tileLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateTileLoad = validateTileLoad; + function validatePage(input) { + var errors = exports.Validators.pageValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validatePage = validatePage; + function validateFilter(input) { + var errors = exports.Validators.filtersValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateFilter = validateFilter; + function validateSaveAsParameters(input) { + var errors = exports.Validators.saveAsParametersValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateSaveAsParameters = validateSaveAsParameters; + function validateLoadQnaConfiguration(input) { + var errors = exports.Validators.loadQnaValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; + function validateQnaInterpretInputData(input) { + var errors = exports.Validators.qnaInterpretInputDataValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateQnaInterpretInputData = validateQnaInterpretInputData; + function validateExportDataRequest(input) { + var errors = exports.Validators.exportDataRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateExportDataRequest = validateExportDataRequest; + function validateVisualHeader(input) { + var errors = exports.Validators.visualHeaderValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateVisualHeader = validateVisualHeader; + function validateVisualSettings(input) { + var errors = exports.Validators.visualSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateVisualSettings = validateVisualSettings; + function validateCommandsSettings(input) { + var errors = exports.Validators.commandsSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateCommandsSettings = validateCommandsSettings; + function validateCustomTheme(input) { + var errors = exports.Validators.customThemeValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateCustomTheme = validateCustomTheme; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { - Object.defineProperty(exports, "__esModule", { value: true }); - var typeValidator_1 = __webpack_require__(2); - var extensionsValidator_1 = __webpack_require__(3); - var settingsValidator_1 = __webpack_require__(5); - var bookmarkValidator_1 = __webpack_require__(6); - var filtersValidator_1 = __webpack_require__(7); - var fieldRequiredValidator_1 = __webpack_require__(8); - var anyOfValidator_1 = __webpack_require__(9); - var reportLoadValidator_1 = __webpack_require__(10); - var reportCreateValidator_1 = __webpack_require__(11); - var dashboardLoadValidator_1 = __webpack_require__(12); - var tileLoadValidator_1 = __webpack_require__(13); - var pageValidator_1 = __webpack_require__(14); - var qnaValidator_1 = __webpack_require__(15); - var saveAsParametersValidator_1 = __webpack_require__(16); - var mapValidator_1 = __webpack_require__(17); - var layoutValidator_1 = __webpack_require__(18); - var exportDataValidator_1 = __webpack_require__(19); - var selectorsValidator_1 = __webpack_require__(20); - var slicersValidator_1 = __webpack_require__(21); - var visualSettingsValidator_1 = __webpack_require__(22); - var commandsSettingsValidator_1 = __webpack_require__(23); - var customThemeValidator_1 = __webpack_require__(24); - var datasetBindingValidator_1 = __webpack_require__(25); - 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()]), - 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(), - applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]), - backgroundValidator: new typeValidator_1.EnumValidator([0, 1]), - basicFilterTypeValidator: new typeValidator_1.EnumValidator([1]), - basicFilterValidator: new filtersValidator_1.BasicFilterValidator(), - booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(), - booleanValidator: new typeValidator_1.BooleanValidator(), - 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(), - commandsSettingsArrayValidator: new typeValidator_1.ArrayValidator([new commandsSettingsValidator_1.CommandsSettingsValidator()]), - commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(), - conditionItemValidator: new filtersValidator_1.ConditionItemValidator(), - contrastModeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4]), - customLayoutDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), - customLayoutValidator: new layoutValidator_1.CustomLayoutValidator(), - customPageSizeValidator: new pageValidator_1.CustomPageSizeValidator(), - customThemeValidator: new customThemeValidator_1.CustomThemeValidator(), - dashboardLoadValidator: new dashboardLoadValidator_1.DashboardLoadValidator(), - datasetBindingValidator: new datasetBindingValidator_1.DatasetBindingValidator(), - displayStateModeValidator: new typeValidator_1.EnumValidator([0, 1]), - displayStateValidator: new layoutValidator_1.DisplayStateValidator(), - exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(), - extensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), - extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), - extensionValidator: new extensionsValidator_1.ExtensionValidator(), - fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(), - filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(), - filterConditionsValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.ConditionItemValidator()]), - filterHierarchyTargetValidator: new filtersValidator_1.FilterHierarchyTargetValidator(), - filterMeasureTargetValidator: new filtersValidator_1.FilterMeasureTargetValidator(), - 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(), - hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), - includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(), - includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]), - layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), - loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), - menuExtensionValidator: new extensionsValidator_1.MenuExtensionValidator(), - menuLocationValidator: new typeValidator_1.EnumValidator([0, 1]), - notSupportedFilterTypeValidator: new typeValidator_1.EnumValidator([2]), - notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(), - numberArrayValidator: new typeValidator_1.NumberArrayValidator(), - numberValidator: new typeValidator_1.NumberValidator(), - pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]), - 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()]), - permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), - playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), - qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), - qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(), - relativeDateFilterOperatorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), - relativeDateFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6]), - relativeDateFilterTypeValidator: new typeValidator_1.EnumValidator([4]), - relativeDateFilterValidator: new filtersValidator_1.RelativeDateFilterValidator(), - reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(), - reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(), - saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(), - settingsValidator: new settingsValidator_1.SettingsValidator(), - singleCommandSettingsValidator: new commandsSettingsValidator_1.SingleCommandSettingsValidator(), - slicerSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.SlicerTargetSelectorValidator()]), - slicerStateValidator: new slicersValidator_1.SlicerStateValidator(), - slicerTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()]), - slicerValidator: new slicersValidator_1.SlicerValidator(), - stringArrayValidator: new typeValidator_1.StringArrayValidator(), - stringValidator: new typeValidator_1.StringValidator(), - tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(), - tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]), - topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]), - topNFilterValidator: new filtersValidator_1.TopNFilterValidator(), - viewModeValidator: new typeValidator_1.EnumValidator([0, 1]), - visualCommandSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), - visualHeaderSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), - visualHeaderSettingsValidator: new visualSettingsValidator_1.VisualHeaderSettingsValidator(), - visualHeaderValidator: new visualSettingsValidator_1.VisualHeaderValidator(), - visualHeadersValidator: new typeValidator_1.ArrayValidator([new visualSettingsValidator_1.VisualHeaderValidator()]), - visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(), - visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), - visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), - visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(), - }; + Object.defineProperty(exports, "__esModule", { value: true }); + var typeValidator_1 = __webpack_require__(2); + var extensionsValidator_1 = __webpack_require__(3); + var settingsValidator_1 = __webpack_require__(5); + var bookmarkValidator_1 = __webpack_require__(6); + var filtersValidator_1 = __webpack_require__(7); + var fieldRequiredValidator_1 = __webpack_require__(8); + var anyOfValidator_1 = __webpack_require__(9); + var reportLoadValidator_1 = __webpack_require__(10); + var reportCreateValidator_1 = __webpack_require__(11); + var dashboardLoadValidator_1 = __webpack_require__(12); + var tileLoadValidator_1 = __webpack_require__(13); + var pageValidator_1 = __webpack_require__(14); + var qnaValidator_1 = __webpack_require__(15); + var saveAsParametersValidator_1 = __webpack_require__(16); + var mapValidator_1 = __webpack_require__(17); + var layoutValidator_1 = __webpack_require__(18); + var exportDataValidator_1 = __webpack_require__(19); + var selectorsValidator_1 = __webpack_require__(20); + var slicersValidator_1 = __webpack_require__(21); + var visualSettingsValidator_1 = __webpack_require__(22); + var commandsSettingsValidator_1 = __webpack_require__(23); + var customThemeValidator_1 = __webpack_require__(24); + var datasetBindingValidator_1 = __webpack_require__(25); + 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()]), + 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(), + applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]), + backgroundValidator: new typeValidator_1.EnumValidator([0, 1]), + basicFilterTypeValidator: new typeValidator_1.EnumValidator([1]), + basicFilterValidator: new filtersValidator_1.BasicFilterValidator(), + booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(), + booleanValidator: new typeValidator_1.BooleanValidator(), + 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(), + commandsSettingsArrayValidator: new typeValidator_1.ArrayValidator([new commandsSettingsValidator_1.CommandsSettingsValidator()]), + commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(), + conditionItemValidator: new filtersValidator_1.ConditionItemValidator(), + contrastModeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4]), + customLayoutDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), + customLayoutValidator: new layoutValidator_1.CustomLayoutValidator(), + customPageSizeValidator: new pageValidator_1.CustomPageSizeValidator(), + customThemeValidator: new customThemeValidator_1.CustomThemeValidator(), + dashboardLoadValidator: new dashboardLoadValidator_1.DashboardLoadValidator(), + datasetBindingValidator: new datasetBindingValidator_1.DatasetBindingValidator(), + displayStateModeValidator: new typeValidator_1.EnumValidator([0, 1]), + displayStateValidator: new layoutValidator_1.DisplayStateValidator(), + exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(), + extensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), + extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), + extensionValidator: new extensionsValidator_1.ExtensionValidator(), + fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(), + filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(), + filterConditionsValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.ConditionItemValidator()]), + filterHierarchyTargetValidator: new filtersValidator_1.FilterHierarchyTargetValidator(), + filterMeasureTargetValidator: new filtersValidator_1.FilterMeasureTargetValidator(), + 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(), + hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), + includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(), + includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]), + layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), + loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), + menuExtensionValidator: new extensionsValidator_1.MenuExtensionValidator(), + menuLocationValidator: new typeValidator_1.EnumValidator([0, 1]), + notSupportedFilterTypeValidator: new typeValidator_1.EnumValidator([2]), + notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(), + numberArrayValidator: new typeValidator_1.NumberArrayValidator(), + numberValidator: new typeValidator_1.NumberValidator(), + pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]), + 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()]), + permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), + playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), + qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), + qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(), + relativeDateFilterOperatorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), + relativeDateFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6]), + relativeDateFilterTypeValidator: new typeValidator_1.EnumValidator([4]), + relativeDateFilterValidator: new filtersValidator_1.RelativeDateFilterValidator(), + reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(), + reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(), + saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(), + settingsValidator: new settingsValidator_1.SettingsValidator(), + singleCommandSettingsValidator: new commandsSettingsValidator_1.SingleCommandSettingsValidator(), + slicerSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.SlicerTargetSelectorValidator()]), + slicerStateValidator: new slicersValidator_1.SlicerStateValidator(), + slicerTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()]), + slicerValidator: new slicersValidator_1.SlicerValidator(), + stringArrayValidator: new typeValidator_1.StringArrayValidator(), + stringValidator: new typeValidator_1.StringValidator(), + tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(), + tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]), + topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]), + topNFilterValidator: new filtersValidator_1.TopNFilterValidator(), + viewModeValidator: new typeValidator_1.EnumValidator([0, 1]), + visualCommandSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), + visualHeaderSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), + visualHeaderSettingsValidator: new visualSettingsValidator_1.VisualHeaderSettingsValidator(), + visualHeaderValidator: new visualSettingsValidator_1.VisualHeaderValidator(), + visualHeadersValidator: new typeValidator_1.ArrayValidator([new visualSettingsValidator_1.VisualHeaderValidator()]), + visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(), + visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), + visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), + visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(), + }; /***/ }), /* 2 */ /***/ (function(module, exports) { - var __extends = (this && this.__extends) || (function () { - var 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 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 ObjectValidator = /** @class */ (function () { - function ObjectValidator() { - } - ObjectValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; - } - if (typeof input !== "object" || Array.isArray(input)) { - return [{ - message: field !== undefined ? field + " must be an object" : "input must be an object", - path: path, - keyword: "type" - }]; - } - return null; - }; - return ObjectValidator; - }()); - exports.ObjectValidator = ObjectValidator; - var ArrayValidator = /** @class */ (function () { - function ArrayValidator(itemValidators) { - this.itemValidators = itemValidators; - } - ArrayValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; - } - if (!(Array.isArray(input))) { - return [{ - message: field + " property is invalid", - path: (path ? path + "." : "") + field, - keyword: "type" - }]; - } - for (var i = 0; i < input.length; i++) { - var fieldsPath = (path ? path + "." : "") + field + "." + i; - for (var _i = 0, _a = this.itemValidators; _i < _a.length; _i++) { - var validator = _a[_i]; - var errors = validator.validate(input[i], fieldsPath, field); - if (errors) { - return [{ - message: field + " property is invalid", - path: (path ? path + "." : "") + field, - keyword: "type" - }]; - } - } - } - return null; - }; - return ArrayValidator; - }()); - exports.ArrayValidator = ArrayValidator; - var TypeValidator = /** @class */ (function () { - function TypeValidator(expectedType) { - this.expectedType = expectedType; - } - TypeValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; - } - if (!(typeof input === this.expectedType)) { - return [{ - message: field + " must be a " + this.expectedType, - path: (path ? path + "." : "") + field, - keyword: "type" - }]; - } - return null; - }; - return TypeValidator; - }()); - exports.TypeValidator = TypeValidator; - var StringValidator = /** @class */ (function (_super) { - __extends(StringValidator, _super); - function StringValidator() { - return _super.call(this, "string") || this; - } - return StringValidator; - }(TypeValidator)); - exports.StringValidator = StringValidator; - var BooleanValidator = /** @class */ (function (_super) { - __extends(BooleanValidator, _super); - function BooleanValidator() { - return _super.call(this, "boolean") || this; - } - return BooleanValidator; - }(TypeValidator)); - exports.BooleanValidator = BooleanValidator; - var NumberValidator = /** @class */ (function (_super) { - __extends(NumberValidator, _super); - function NumberValidator() { - return _super.call(this, "number") || this; - } - return NumberValidator; - }(TypeValidator)); - exports.NumberValidator = NumberValidator; - var ValueValidator = /** @class */ (function () { - function ValueValidator(possibleValues) { - this.possibleValues = possibleValues; - } - ValueValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; - } - if (this.possibleValues.indexOf(input) < 0) { - return [{ - message: field + " property is invalid", - path: (path ? path + "." : "") + field, - keyword: "invalid" - }]; - } - return null; - }; - return ValueValidator; - }()); - exports.ValueValidator = ValueValidator; - var SchemaValidator = /** @class */ (function (_super) { - __extends(SchemaValidator, _super); - function SchemaValidator(schemaValue) { - var _this = _super.call(this, [schemaValue]) || this; - _this.schemaValue = schemaValue; - return _this; - } - SchemaValidator.prototype.validate = function (input, path, field) { - return _super.prototype.validate.call(this, input, path, field); - }; - return SchemaValidator; - }(ValueValidator)); - exports.SchemaValidator = SchemaValidator; - var EnumValidator = /** @class */ (function (_super) { - __extends(EnumValidator, _super); - function EnumValidator(possibleValues) { - var _this = _super.call(this) || this; - _this.possibleValues = possibleValues; - return _this; - } - EnumValidator.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 valueValidator = new ValueValidator(this.possibleValues); - return valueValidator.validate(input, path, field); - }; - return EnumValidator; - }(NumberValidator)); - exports.EnumValidator = EnumValidator; - var StringArrayValidator = /** @class */ (function (_super) { - __extends(StringArrayValidator, _super); - function StringArrayValidator() { - return _super.call(this, [new StringValidator()]) || this; - } - StringArrayValidator.prototype.validate = function (input, path, field) { - var errors = _super.prototype.validate.call(this, input, path, field); - if (errors) { - return [{ - message: field + " must be an array of strings", - path: (path ? path + "." : "") + field, - keyword: "type" - }]; - } - return null; - }; - return StringArrayValidator; - }(ArrayValidator)); - exports.StringArrayValidator = StringArrayValidator; - var BooleanArrayValidator = /** @class */ (function (_super) { - __extends(BooleanArrayValidator, _super); - function BooleanArrayValidator() { - return _super.call(this, [new BooleanValidator()]) || this; - } - BooleanArrayValidator.prototype.validate = function (input, path, field) { - var errors = _super.prototype.validate.call(this, input, path, field); - if (errors) { - return [{ - message: field + " must be an array of booleans", - path: (path ? path + "." : "") + field, - keyword: "type" - }]; - } - return null; - }; - return BooleanArrayValidator; - }(ArrayValidator)); - exports.BooleanArrayValidator = BooleanArrayValidator; - var NumberArrayValidator = /** @class */ (function (_super) { - __extends(NumberArrayValidator, _super); - function NumberArrayValidator() { - return _super.call(this, [new NumberValidator()]) || this; - } - NumberArrayValidator.prototype.validate = function (input, path, field) { - var errors = _super.prototype.validate.call(this, input, path, field); - if (errors) { - return [{ - message: field + " must be an array of numbers", - path: (path ? path + "." : "") + field, - keyword: "type" - }]; - } - return null; - }; - return NumberArrayValidator; - }(ArrayValidator)); - exports.NumberArrayValidator = NumberArrayValidator; + 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 ObjectValidator = /** @class */ (function () { + function ObjectValidator() { + } + ObjectValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + if (typeof input !== "object" || Array.isArray(input)) { + return [{ + message: field !== undefined ? field + " must be an object" : "input must be an object", + path: path, + keyword: "type" + }]; + } + return null; + }; + return ObjectValidator; + }()); + exports.ObjectValidator = ObjectValidator; + var ArrayValidator = /** @class */ (function () { + function ArrayValidator(itemValidators) { + this.itemValidators = itemValidators; + } + ArrayValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + if (!(Array.isArray(input))) { + return [{ + message: field + " property is invalid", + path: (path ? path + "." : "") + field, + keyword: "type" + }]; + } + for (var i = 0; i < input.length; i++) { + var fieldsPath = (path ? path + "." : "") + field + "." + i; + for (var _i = 0, _a = this.itemValidators; _i < _a.length; _i++) { + var validator = _a[_i]; + var errors = validator.validate(input[i], fieldsPath, field); + if (errors) { + return [{ + message: field + " property is invalid", + path: (path ? path + "." : "") + field, + keyword: "type" + }]; + } + } + } + return null; + }; + return ArrayValidator; + }()); + exports.ArrayValidator = ArrayValidator; + var TypeValidator = /** @class */ (function () { + function TypeValidator(expectedType) { + this.expectedType = expectedType; + } + TypeValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + if (!(typeof input === this.expectedType)) { + return [{ + message: field + " must be a " + this.expectedType, + path: (path ? path + "." : "") + field, + keyword: "type" + }]; + } + return null; + }; + return TypeValidator; + }()); + exports.TypeValidator = TypeValidator; + var StringValidator = /** @class */ (function (_super) { + __extends(StringValidator, _super); + function StringValidator() { + return _super.call(this, "string") || this; + } + return StringValidator; + }(TypeValidator)); + exports.StringValidator = StringValidator; + var BooleanValidator = /** @class */ (function (_super) { + __extends(BooleanValidator, _super); + function BooleanValidator() { + return _super.call(this, "boolean") || this; + } + return BooleanValidator; + }(TypeValidator)); + exports.BooleanValidator = BooleanValidator; + var NumberValidator = /** @class */ (function (_super) { + __extends(NumberValidator, _super); + function NumberValidator() { + return _super.call(this, "number") || this; + } + return NumberValidator; + }(TypeValidator)); + exports.NumberValidator = NumberValidator; + var ValueValidator = /** @class */ (function () { + function ValueValidator(possibleValues) { + this.possibleValues = possibleValues; + } + ValueValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + if (this.possibleValues.indexOf(input) < 0) { + return [{ + message: field + " property is invalid", + path: (path ? path + "." : "") + field, + keyword: "invalid" + }]; + } + return null; + }; + return ValueValidator; + }()); + exports.ValueValidator = ValueValidator; + var SchemaValidator = /** @class */ (function (_super) { + __extends(SchemaValidator, _super); + function SchemaValidator(schemaValue) { + var _this = _super.call(this, [schemaValue]) || this; + _this.schemaValue = schemaValue; + return _this; + } + SchemaValidator.prototype.validate = function (input, path, field) { + return _super.prototype.validate.call(this, input, path, field); + }; + return SchemaValidator; + }(ValueValidator)); + exports.SchemaValidator = SchemaValidator; + var EnumValidator = /** @class */ (function (_super) { + __extends(EnumValidator, _super); + function EnumValidator(possibleValues) { + var _this = _super.call(this) || this; + _this.possibleValues = possibleValues; + return _this; + } + EnumValidator.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 valueValidator = new ValueValidator(this.possibleValues); + return valueValidator.validate(input, path, field); + }; + return EnumValidator; + }(NumberValidator)); + exports.EnumValidator = EnumValidator; + var StringArrayValidator = /** @class */ (function (_super) { + __extends(StringArrayValidator, _super); + function StringArrayValidator() { + return _super.call(this, [new StringValidator()]) || this; + } + StringArrayValidator.prototype.validate = function (input, path, field) { + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return [{ + message: field + " must be an array of strings", + path: (path ? path + "." : "") + field, + keyword: "type" + }]; + } + return null; + }; + return StringArrayValidator; + }(ArrayValidator)); + exports.StringArrayValidator = StringArrayValidator; + var BooleanArrayValidator = /** @class */ (function (_super) { + __extends(BooleanArrayValidator, _super); + function BooleanArrayValidator() { + return _super.call(this, [new BooleanValidator()]) || this; + } + BooleanArrayValidator.prototype.validate = function (input, path, field) { + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return [{ + message: field + " must be an array of booleans", + path: (path ? path + "." : "") + field, + keyword: "type" + }]; + } + return null; + }; + return BooleanArrayValidator; + }(ArrayValidator)); + exports.BooleanArrayValidator = BooleanArrayValidator; + var NumberArrayValidator = /** @class */ (function (_super) { + __extends(NumberArrayValidator, _super); + function NumberArrayValidator() { + return _super.call(this, [new NumberValidator()]) || this; + } + NumberArrayValidator.prototype.validate = function (input, path, field) { + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return [{ + message: field + " must be an array of numbers", + path: (path ? path + "." : "") + field, + keyword: "type" + }]; + } + return null; + }; + return NumberArrayValidator; + }(ArrayValidator)); + exports.NumberArrayValidator = NumberArrayValidator; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 MenuExtensionValidator = /** @class */ (function (_super) { - __extends(MenuExtensionValidator, _super); - function MenuExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - MenuExtensionValidator.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: "title", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "icon", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "menuLocation", - validators: [validator_1.Validators.menuLocationValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return MenuExtensionValidator; - }(typeValidator_1.ObjectValidator)); - exports.MenuExtensionValidator = MenuExtensionValidator; - var ExtensionPointsValidator = /** @class */ (function (_super) { - __extends(ExtensionPointsValidator, _super); - function ExtensionPointsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ExtensionPointsValidator.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: "visualContextMenu", - validators: [validator_1.Validators.menuExtensionValidator] - }, - { - field: "visualOptionsMenu", - validators: [validator_1.Validators.menuExtensionValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ExtensionPointsValidator; - }(typeValidator_1.ObjectValidator)); - exports.ExtensionPointsValidator = ExtensionPointsValidator; - var ExtensionItemValidator = /** @class */ (function (_super) { - __extends(ExtensionItemValidator, _super); - function ExtensionItemValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ExtensionItemValidator.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: "name", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "extend", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.extensionPointsValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ExtensionItemValidator; - }(typeValidator_1.ObjectValidator)); - exports.ExtensionItemValidator = ExtensionItemValidator; - var CommandExtensionValidator = /** @class */ (function (_super) { - __extends(CommandExtensionValidator, _super); - function CommandExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CommandExtensionValidator.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: "title", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "icon", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "selector", - validators: [validator_1.Validators.commandExtensionSelectorValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CommandExtensionValidator; - }(ExtensionItemValidator)); - exports.CommandExtensionValidator = CommandExtensionValidator; - var ExtensionValidator = /** @class */ (function (_super) { - __extends(ExtensionValidator, _super); - function ExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ExtensionValidator.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: "command", - validators: [validator_1.Validators.commandExtensionValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ExtensionValidator; - }(typeValidator_1.ObjectValidator)); - exports.ExtensionValidator = ExtensionValidator; + 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 MenuExtensionValidator = /** @class */ (function (_super) { + __extends(MenuExtensionValidator, _super); + function MenuExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + MenuExtensionValidator.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: "title", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "icon", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "menuLocation", + validators: [validator_1.Validators.menuLocationValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return MenuExtensionValidator; + }(typeValidator_1.ObjectValidator)); + exports.MenuExtensionValidator = MenuExtensionValidator; + var ExtensionPointsValidator = /** @class */ (function (_super) { + __extends(ExtensionPointsValidator, _super); + function ExtensionPointsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ExtensionPointsValidator.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: "visualContextMenu", + validators: [validator_1.Validators.menuExtensionValidator] + }, + { + field: "visualOptionsMenu", + validators: [validator_1.Validators.menuExtensionValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ExtensionPointsValidator; + }(typeValidator_1.ObjectValidator)); + exports.ExtensionPointsValidator = ExtensionPointsValidator; + var ExtensionItemValidator = /** @class */ (function (_super) { + __extends(ExtensionItemValidator, _super); + function ExtensionItemValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ExtensionItemValidator.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: "name", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "extend", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.extensionPointsValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ExtensionItemValidator; + }(typeValidator_1.ObjectValidator)); + exports.ExtensionItemValidator = ExtensionItemValidator; + var CommandExtensionValidator = /** @class */ (function (_super) { + __extends(CommandExtensionValidator, _super); + function CommandExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CommandExtensionValidator.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: "title", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "icon", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "selector", + validators: [validator_1.Validators.commandExtensionSelectorValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CommandExtensionValidator; + }(ExtensionItemValidator)); + exports.CommandExtensionValidator = CommandExtensionValidator; + var ExtensionValidator = /** @class */ (function (_super) { + __extends(ExtensionValidator, _super); + function ExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ExtensionValidator.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: "command", + validators: [validator_1.Validators.commandExtensionValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ExtensionValidator; + }(typeValidator_1.ObjectValidator)); + exports.ExtensionValidator = ExtensionValidator; /***/ }), /* 4 */ /***/ (function(module, exports) { - Object.defineProperty(exports, "__esModule", { value: true }); - var MultipleFieldsValidator = /** @class */ (function () { - function MultipleFieldsValidator(fieldValidatorsPairs) { - this.fieldValidatorsPairs = fieldValidatorsPairs; - } - MultipleFieldsValidator.prototype.validate = function (input, path, field) { - if (!this.fieldValidatorsPairs) { - return null; - } - var fieldsPath = path ? path + "." + field : field; - for (var _i = 0, _a = this.fieldValidatorsPairs; _i < _a.length; _i++) { - var fieldValidators = _a[_i]; - for (var _b = 0, _c = fieldValidators.validators; _b < _c.length; _b++) { - var validator = _c[_b]; - var errors = validator.validate(input[fieldValidators.field], fieldsPath, fieldValidators.field); - if (errors) { - return errors; - } - } - } - return null; - }; - return MultipleFieldsValidator; - }()); - exports.MultipleFieldsValidator = MultipleFieldsValidator; + Object.defineProperty(exports, "__esModule", { value: true }); + var MultipleFieldsValidator = /** @class */ (function () { + function MultipleFieldsValidator(fieldValidatorsPairs) { + this.fieldValidatorsPairs = fieldValidatorsPairs; + } + MultipleFieldsValidator.prototype.validate = function (input, path, field) { + if (!this.fieldValidatorsPairs) { + return null; + } + var fieldsPath = path ? path + "." + field : field; + for (var _i = 0, _a = this.fieldValidatorsPairs; _i < _a.length; _i++) { + var fieldValidators = _a[_i]; + for (var _b = 0, _c = fieldValidators.validators; _b < _c.length; _b++) { + var validator = _c[_b]; + var errors = validator.validate(input[fieldValidators.field], fieldsPath, fieldValidators.field); + if (errors) { + return errors; + } + } + } + return null; + }; + return MultipleFieldsValidator; + }()); + exports.MultipleFieldsValidator = MultipleFieldsValidator; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 SettingsValidator = /** @class */ (function (_super) { - __extends(SettingsValidator, _super); - function SettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - SettingsValidator.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: "filterPaneEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "navContentPaneEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "bookmarksPaneEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "useCustomSaveAsDialog", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "extensions", - validators: [validator_1.Validators.extensionArrayValidator] - }, - { - field: "layoutType", - validators: [validator_1.Validators.layoutTypeValidator] - }, - { - field: "customLayout", - validators: [validator_1.Validators.customLayoutValidator] - }, - { - field: "background", - validators: [validator_1.Validators.backgroundValidator] - }, - { - field: "visualSettings", - validators: [validator_1.Validators.visualSettingsValidator] - }, - { - field: "hideErrors", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "commands", - validators: [validator_1.Validators.commandsSettingsArrayValidator] - }, - { - field: "hyperlinkClickBehavior", - validators: [validator_1.Validators.hyperlinkClickBehaviorValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return SettingsValidator; - }(typeValidator_1.ObjectValidator)); - exports.SettingsValidator = SettingsValidator; + 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 SettingsValidator = /** @class */ (function (_super) { + __extends(SettingsValidator, _super); + function SettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SettingsValidator.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: "filterPaneEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "navContentPaneEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "bookmarksPaneEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "useCustomSaveAsDialog", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "extensions", + validators: [validator_1.Validators.extensionArrayValidator] + }, + { + field: "layoutType", + validators: [validator_1.Validators.layoutTypeValidator] + }, + { + field: "customLayout", + validators: [validator_1.Validators.customLayoutValidator] + }, + { + field: "background", + validators: [validator_1.Validators.backgroundValidator] + }, + { + field: "visualSettings", + validators: [validator_1.Validators.visualSettingsValidator] + }, + { + field: "hideErrors", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "commands", + validators: [validator_1.Validators.commandsSettingsArrayValidator] + }, + { + field: "hyperlinkClickBehavior", + validators: [validator_1.Validators.hyperlinkClickBehaviorValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SettingsValidator; + }(typeValidator_1.ObjectValidator)); + exports.SettingsValidator = SettingsValidator; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 PlayBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(PlayBookmarkRequestValidator, _super); - function PlayBookmarkRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - PlayBookmarkRequestValidator.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: "playMode", - validators: [validator_1.Validators.fieldRequiredValidator, new typeValidator_1.EnumValidator([0, 1])] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return PlayBookmarkRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.PlayBookmarkRequestValidator = PlayBookmarkRequestValidator; - var AddBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(AddBookmarkRequestValidator, _super); - function AddBookmarkRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - AddBookmarkRequestValidator.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: "state", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "displayName", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "apply", - validators: [validator_1.Validators.booleanValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return AddBookmarkRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.AddBookmarkRequestValidator = AddBookmarkRequestValidator; - var ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) { - __extends(ApplyBookmarkByNameRequestValidator, _super); - function ApplyBookmarkByNameRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ApplyBookmarkByNameRequestValidator.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: "name", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ApplyBookmarkByNameRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.ApplyBookmarkByNameRequestValidator = ApplyBookmarkByNameRequestValidator; - var ApplyBookmarkStateRequestValidator = /** @class */ (function (_super) { - __extends(ApplyBookmarkStateRequestValidator, _super); - function ApplyBookmarkStateRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ApplyBookmarkStateRequestValidator.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: "state", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ApplyBookmarkStateRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator; + 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 PlayBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(PlayBookmarkRequestValidator, _super); + function PlayBookmarkRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PlayBookmarkRequestValidator.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: "playMode", + validators: [validator_1.Validators.fieldRequiredValidator, new typeValidator_1.EnumValidator([0, 1])] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PlayBookmarkRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.PlayBookmarkRequestValidator = PlayBookmarkRequestValidator; + var AddBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(AddBookmarkRequestValidator, _super); + function AddBookmarkRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + AddBookmarkRequestValidator.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: "state", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "displayName", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "apply", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return AddBookmarkRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.AddBookmarkRequestValidator = AddBookmarkRequestValidator; + var ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) { + __extends(ApplyBookmarkByNameRequestValidator, _super); + function ApplyBookmarkByNameRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ApplyBookmarkByNameRequestValidator.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: "name", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ApplyBookmarkByNameRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.ApplyBookmarkByNameRequestValidator = ApplyBookmarkByNameRequestValidator; + var ApplyBookmarkStateRequestValidator = /** @class */ (function (_super) { + __extends(ApplyBookmarkStateRequestValidator, _super); + function ApplyBookmarkStateRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ApplyBookmarkStateRequestValidator.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: "state", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ApplyBookmarkStateRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 FilterColumnTargetValidator = /** @class */ (function (_super) { - __extends(FilterColumnTargetValidator, _super); - function FilterColumnTargetValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterColumnTargetValidator.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: "table", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "column", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FilterColumnTargetValidator; - }(typeValidator_1.ObjectValidator)); - exports.FilterColumnTargetValidator = FilterColumnTargetValidator; - var FilterKeyColumnsTargetValidator = /** @class */ (function (_super) { - __extends(FilterKeyColumnsTargetValidator, _super); - function FilterKeyColumnsTargetValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterKeyColumnsTargetValidator.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: "keys", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FilterKeyColumnsTargetValidator; - }(FilterColumnTargetValidator)); - exports.FilterKeyColumnsTargetValidator = FilterKeyColumnsTargetValidator; - var FilterHierarchyTargetValidator = /** @class */ (function (_super) { - __extends(FilterHierarchyTargetValidator, _super); - function FilterHierarchyTargetValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterHierarchyTargetValidator.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: "table", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "hierarchy", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "hierarchyLevel", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FilterHierarchyTargetValidator; - }(typeValidator_1.ObjectValidator)); - exports.FilterHierarchyTargetValidator = FilterHierarchyTargetValidator; - var FilterKeyHierarchyTargetValidator = /** @class */ (function (_super) { - __extends(FilterKeyHierarchyTargetValidator, _super); - function FilterKeyHierarchyTargetValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterKeyHierarchyTargetValidator.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: "keys", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FilterKeyHierarchyTargetValidator; - }(FilterHierarchyTargetValidator)); - exports.FilterKeyHierarchyTargetValidator = FilterKeyHierarchyTargetValidator; - var FilterMeasureTargetValidator = /** @class */ (function (_super) { - __extends(FilterMeasureTargetValidator, _super); - function FilterMeasureTargetValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterMeasureTargetValidator.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: "table", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "measure", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FilterMeasureTargetValidator; - }(typeValidator_1.ObjectValidator)); - exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator; - var BasicFilterValidator = /** @class */ (function (_super) { - __extends(BasicFilterValidator, _super); - function BasicFilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - BasicFilterValidator.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.stringValidator] - }, - { - field: "values", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator] - }, - { - field: "filterType", - validators: [validator_1.Validators.basicFilterTypeValidator] - }, - { - field: "requireSingleSelection", - validators: [validator_1.Validators.booleanValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return BasicFilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.BasicFilterValidator = BasicFilterValidator; - var AdvancedFilterValidator = /** @class */ (function (_super) { - __extends(AdvancedFilterValidator, _super); - function AdvancedFilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - AdvancedFilterValidator.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: "logicalOperator", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "conditions", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterConditionsValidator] - }, - { - field: "filterType", - validators: [validator_1.Validators.advancedFilterTypeValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return AdvancedFilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.AdvancedFilterValidator = AdvancedFilterValidator; - var RelativeDateFilterValidator = /** @class */ (function (_super) { - __extends(RelativeDateFilterValidator, _super); - function RelativeDateFilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - RelativeDateFilterValidator.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.relativeDateFilterTimeUnitTypeValidator] - }, - { - field: "includeToday", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] - }, - { - field: "filterType", - validators: [validator_1.Validators.relativeDateFilterTypeValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return RelativeDateFilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.RelativeDateFilterValidator = RelativeDateFilterValidator; - var TopNFilterValidator = /** @class */ (function (_super) { - __extends(TopNFilterValidator, _super); - function TopNFilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - TopNFilterValidator.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.stringValidator] - }, - { - field: "itemCount", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] - }, - { - field: "filterType", - validators: [validator_1.Validators.topNFilterTypeValidator] - }, - { - field: "orderBy", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return TopNFilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.TopNFilterValidator = TopNFilterValidator; - var NotSupportedFilterValidator = /** @class */ (function (_super) { - __extends(NotSupportedFilterValidator, _super); - function NotSupportedFilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - NotSupportedFilterValidator.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.filterTargetValidator] - }, - { - field: "message", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "notSupportedTypeName", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "filterType", - validators: [validator_1.Validators.notSupportedFilterTypeValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return NotSupportedFilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.NotSupportedFilterValidator = NotSupportedFilterValidator; - var IncludeExcludeFilterValidator = /** @class */ (function (_super) { - __extends(IncludeExcludeFilterValidator, _super); - function IncludeExcludeFilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - IncludeExcludeFilterValidator.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: "isExclude", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] - }, - { - field: "values", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator] - }, - { - field: "filterType", - validators: [validator_1.Validators.includeExludeFilterTypeValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return IncludeExcludeFilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator; - var FilterValidator = /** @class */ (function (_super) { - __extends(FilterValidator, _super); - function FilterValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; - } - return validator_1.Validators.anyFilterValidator.validate(input, path, field); - }; - return FilterValidator; - }(typeValidator_1.ObjectValidator)); - exports.FilterValidator = FilterValidator; - var ConditionItemValidator = /** @class */ (function (_super) { - __extends(ConditionItemValidator, _super); - function ConditionItemValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ConditionItemValidator.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: "value", - validators: [validator_1.Validators.anyValueValidator] - }, - { - field: "operator", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ConditionItemValidator; - }(typeValidator_1.ObjectValidator)); - exports.ConditionItemValidator = ConditionItemValidator; + 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 FilterColumnTargetValidator = /** @class */ (function (_super) { + __extends(FilterColumnTargetValidator, _super); + function FilterColumnTargetValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterColumnTargetValidator.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: "table", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "column", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterColumnTargetValidator; + }(typeValidator_1.ObjectValidator)); + exports.FilterColumnTargetValidator = FilterColumnTargetValidator; + var FilterKeyColumnsTargetValidator = /** @class */ (function (_super) { + __extends(FilterKeyColumnsTargetValidator, _super); + function FilterKeyColumnsTargetValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterKeyColumnsTargetValidator.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: "keys", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterKeyColumnsTargetValidator; + }(FilterColumnTargetValidator)); + exports.FilterKeyColumnsTargetValidator = FilterKeyColumnsTargetValidator; + var FilterHierarchyTargetValidator = /** @class */ (function (_super) { + __extends(FilterHierarchyTargetValidator, _super); + function FilterHierarchyTargetValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterHierarchyTargetValidator.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: "table", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "hierarchy", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "hierarchyLevel", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterHierarchyTargetValidator; + }(typeValidator_1.ObjectValidator)); + exports.FilterHierarchyTargetValidator = FilterHierarchyTargetValidator; + var FilterKeyHierarchyTargetValidator = /** @class */ (function (_super) { + __extends(FilterKeyHierarchyTargetValidator, _super); + function FilterKeyHierarchyTargetValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterKeyHierarchyTargetValidator.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: "keys", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterKeyHierarchyTargetValidator; + }(FilterHierarchyTargetValidator)); + exports.FilterKeyHierarchyTargetValidator = FilterKeyHierarchyTargetValidator; + var FilterMeasureTargetValidator = /** @class */ (function (_super) { + __extends(FilterMeasureTargetValidator, _super); + function FilterMeasureTargetValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterMeasureTargetValidator.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: "table", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "measure", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterMeasureTargetValidator; + }(typeValidator_1.ObjectValidator)); + exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator; + var BasicFilterValidator = /** @class */ (function (_super) { + __extends(BasicFilterValidator, _super); + function BasicFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + BasicFilterValidator.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.stringValidator] + }, + { + field: "values", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.basicFilterTypeValidator] + }, + { + field: "requireSingleSelection", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return BasicFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.BasicFilterValidator = BasicFilterValidator; + var AdvancedFilterValidator = /** @class */ (function (_super) { + __extends(AdvancedFilterValidator, _super); + function AdvancedFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + AdvancedFilterValidator.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: "logicalOperator", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "conditions", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterConditionsValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.advancedFilterTypeValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return AdvancedFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.AdvancedFilterValidator = AdvancedFilterValidator; + var RelativeDateFilterValidator = /** @class */ (function (_super) { + __extends(RelativeDateFilterValidator, _super); + function RelativeDateFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + RelativeDateFilterValidator.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.relativeDateFilterTimeUnitTypeValidator] + }, + { + field: "includeToday", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.relativeDateFilterTypeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return RelativeDateFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.RelativeDateFilterValidator = RelativeDateFilterValidator; + var TopNFilterValidator = /** @class */ (function (_super) { + __extends(TopNFilterValidator, _super); + function TopNFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + TopNFilterValidator.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.stringValidator] + }, + { + field: "itemCount", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.topNFilterTypeValidator] + }, + { + field: "orderBy", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return TopNFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.TopNFilterValidator = TopNFilterValidator; + var NotSupportedFilterValidator = /** @class */ (function (_super) { + __extends(NotSupportedFilterValidator, _super); + function NotSupportedFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + NotSupportedFilterValidator.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.filterTargetValidator] + }, + { + field: "message", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "notSupportedTypeName", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.notSupportedFilterTypeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return NotSupportedFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.NotSupportedFilterValidator = NotSupportedFilterValidator; + var IncludeExcludeFilterValidator = /** @class */ (function (_super) { + __extends(IncludeExcludeFilterValidator, _super); + function IncludeExcludeFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + IncludeExcludeFilterValidator.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: "isExclude", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] + }, + { + field: "values", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.includeExludeFilterTypeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return IncludeExcludeFilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator; + var FilterValidator = /** @class */ (function (_super) { + __extends(FilterValidator, _super); + function FilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + return validator_1.Validators.anyFilterValidator.validate(input, path, field); + }; + return FilterValidator; + }(typeValidator_1.ObjectValidator)); + exports.FilterValidator = FilterValidator; + var ConditionItemValidator = /** @class */ (function (_super) { + __extends(ConditionItemValidator, _super); + function ConditionItemValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ConditionItemValidator.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: "value", + validators: [validator_1.Validators.anyValueValidator] + }, + { + field: "operator", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ConditionItemValidator; + }(typeValidator_1.ObjectValidator)); + exports.ConditionItemValidator = ConditionItemValidator; /***/ }), /* 8 */ /***/ (function(module, exports) { - Object.defineProperty(exports, "__esModule", { value: true }); - var FieldRequiredValidator = /** @class */ (function () { - function FieldRequiredValidator() { - } - FieldRequiredValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return [{ - message: field + " is required", - path: (path ? path + "." : "") + field, - keyword: "required" - }]; - } - return null; - }; - return FieldRequiredValidator; - }()); - exports.FieldRequiredValidator = FieldRequiredValidator; + Object.defineProperty(exports, "__esModule", { value: true }); + var FieldRequiredValidator = /** @class */ (function () { + function FieldRequiredValidator() { + } + FieldRequiredValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return [{ + message: field + " is required", + path: (path ? path + "." : "") + field, + keyword: "required" + }]; + } + return null; + }; + return FieldRequiredValidator; + }()); + exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 9 */ /***/ (function(module, exports) { - Object.defineProperty(exports, "__esModule", { value: true }); - var AnyOfValidator = /** @class */ (function () { - function AnyOfValidator(validators) { - this.validators = validators; - } - AnyOfValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; - } - var valid = false; - for (var _i = 0, _a = this.validators; _i < _a.length; _i++) { - var validator = _a[_i]; - var errors = validator.validate(input, path, field); - if (!errors) { - valid = true; - break; - } - } - if (!valid) { - return [{ - message: field + " property is invalid", - path: (path ? path + "." : "") + field, - keyword: "invalid" - }]; - } - return null; - }; - return AnyOfValidator; - }()); - exports.AnyOfValidator = AnyOfValidator; + Object.defineProperty(exports, "__esModule", { value: true }); + var AnyOfValidator = /** @class */ (function () { + function AnyOfValidator(validators) { + this.validators = validators; + } + AnyOfValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var valid = false; + for (var _i = 0, _a = this.validators; _i < _a.length; _i++) { + var validator = _a[_i]; + var errors = validator.validate(input, path, field); + if (!errors) { + valid = true; + break; + } + } + if (!valid) { + return [{ + message: field + " property is invalid", + path: (path ? path + "." : "") + field, + keyword: "invalid" + }]; + } + return null; + }; + return AnyOfValidator; + }()); + exports.AnyOfValidator = AnyOfValidator; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 ReportLoadValidator = /** @class */ (function (_super) { - __extends(ReportLoadValidator, _super); - function ReportLoadValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ReportLoadValidator.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: "accessToken", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "id", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "groupId", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "settings", - validators: [validator_1.Validators.settingsValidator] - }, - { - field: "pageName", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "filters", - validators: [validator_1.Validators.filtersArrayValidator] - }, - { - field: "permissions", - validators: [validator_1.Validators.permissionsValidator] - }, - { - field: "viewMode", - validators: [validator_1.Validators.viewModeValidator] - }, - { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] - }, - { - field: "bookmark", - validators: [validator_1.Validators.applyBookmarkValidator] - }, - { - field: "theme", - validators: [validator_1.Validators.customThemeValidator] - }, - { - field: "embedUrl", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "datasetBinding", - validators: [validator_1.Validators.datasetBindingValidator] - }, - { - field: "contrastMode", - validators: [validator_1.Validators.contrastModeValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ReportLoadValidator; - }(typeValidator_1.ObjectValidator)); - exports.ReportLoadValidator = ReportLoadValidator; + 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 ReportLoadValidator = /** @class */ (function (_super) { + __extends(ReportLoadValidator, _super); + function ReportLoadValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportLoadValidator.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: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "id", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "groupId", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "settings", + validators: [validator_1.Validators.settingsValidator] + }, + { + field: "pageName", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "filters", + validators: [validator_1.Validators.filtersArrayValidator] + }, + { + field: "permissions", + validators: [validator_1.Validators.permissionsValidator] + }, + { + field: "viewMode", + validators: [validator_1.Validators.viewModeValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "bookmark", + validators: [validator_1.Validators.applyBookmarkValidator] + }, + { + field: "theme", + validators: [validator_1.Validators.customThemeValidator] + }, + { + field: "embedUrl", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "datasetBinding", + validators: [validator_1.Validators.datasetBindingValidator] + }, + { + field: "contrastMode", + validators: [validator_1.Validators.contrastModeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportLoadValidator; + }(typeValidator_1.ObjectValidator)); + exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 ReportCreateValidator = /** @class */ (function (_super) { - __extends(ReportCreateValidator, _super); - function ReportCreateValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ReportCreateValidator.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: "accessToken", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "datasetId", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "groupId", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] - }, - { - field: "theme", - validators: [validator_1.Validators.customThemeValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ReportCreateValidator; - }(typeValidator_1.ObjectValidator)); - exports.ReportCreateValidator = ReportCreateValidator; + 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 ReportCreateValidator = /** @class */ (function (_super) { + __extends(ReportCreateValidator, _super); + function ReportCreateValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportCreateValidator.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: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "datasetId", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "groupId", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "theme", + validators: [validator_1.Validators.customThemeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportCreateValidator; + }(typeValidator_1.ObjectValidator)); + exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 DashboardLoadValidator = /** @class */ (function (_super) { - __extends(DashboardLoadValidator, _super); - function DashboardLoadValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - DashboardLoadValidator.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: "accessToken", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "id", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "groupId", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "pageView", - validators: [validator_1.Validators.pageViewFieldValidator] - }, - { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] - }, - { - field: "embedUrl", - validators: [validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return DashboardLoadValidator; - }(typeValidator_1.ObjectValidator)); - exports.DashboardLoadValidator = DashboardLoadValidator; + 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 DashboardLoadValidator = /** @class */ (function (_super) { + __extends(DashboardLoadValidator, _super); + function DashboardLoadValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + DashboardLoadValidator.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: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "id", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "groupId", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "pageView", + validators: [validator_1.Validators.pageViewFieldValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "embedUrl", + validators: [validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return DashboardLoadValidator; + }(typeValidator_1.ObjectValidator)); + exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 TileLoadValidator = /** @class */ (function (_super) { - __extends(TileLoadValidator, _super); - function TileLoadValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - TileLoadValidator.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: "accessToken", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "id", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "dashboardId", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "groupId", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "pageView", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] - }, - { - field: "width", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "height", - validators: [validator_1.Validators.numberValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return TileLoadValidator; - }(typeValidator_1.ObjectValidator)); - exports.TileLoadValidator = TileLoadValidator; + 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 TileLoadValidator = /** @class */ (function (_super) { + __extends(TileLoadValidator, _super); + function TileLoadValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + TileLoadValidator.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: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "id", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "dashboardId", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "groupId", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "pageView", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "width", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "height", + validators: [validator_1.Validators.numberValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return TileLoadValidator; + }(typeValidator_1.ObjectValidator)); + exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 PageSizeValidator = /** @class */ (function (_super) { - __extends(PageSizeValidator, _super); - function PageSizeValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - PageSizeValidator.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: "type", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageSizeTypeValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return PageSizeValidator; - }(typeValidator_1.ObjectValidator)); - exports.PageSizeValidator = PageSizeValidator; - var CustomPageSizeValidator = /** @class */ (function (_super) { - __extends(CustomPageSizeValidator, _super); - function CustomPageSizeValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CustomPageSizeValidator.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: "width", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "height", - validators: [validator_1.Validators.numberValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CustomPageSizeValidator; - }(PageSizeValidator)); - exports.CustomPageSizeValidator = CustomPageSizeValidator; - var PageValidator = /** @class */ (function (_super) { - __extends(PageValidator, _super); - function PageValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - PageValidator.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: "name", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return PageValidator; - }(typeValidator_1.ObjectValidator)); - exports.PageValidator = PageValidator; - var PageViewFieldValidator = /** @class */ (function (_super) { - __extends(PageViewFieldValidator, _super); - function PageViewFieldValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - PageViewFieldValidator.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 possibleValues = ["actualSize", "fitToWidth", "oneColumn"]; - if (possibleValues.indexOf(input) < 0) { - return [{ - message: "pageView must be a string with one of the following values: \"actualSize\", \"fitToWidth\", \"oneColumn\"" - }]; - } - return null; - }; - return PageViewFieldValidator; - }(typeValidator_1.StringValidator)); - exports.PageViewFieldValidator = PageViewFieldValidator; + 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 PageSizeValidator = /** @class */ (function (_super) { + __extends(PageSizeValidator, _super); + function PageSizeValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PageSizeValidator.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: "type", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageSizeTypeValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PageSizeValidator; + }(typeValidator_1.ObjectValidator)); + exports.PageSizeValidator = PageSizeValidator; + var CustomPageSizeValidator = /** @class */ (function (_super) { + __extends(CustomPageSizeValidator, _super); + function CustomPageSizeValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CustomPageSizeValidator.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: "width", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "height", + validators: [validator_1.Validators.numberValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CustomPageSizeValidator; + }(PageSizeValidator)); + exports.CustomPageSizeValidator = CustomPageSizeValidator; + var PageValidator = /** @class */ (function (_super) { + __extends(PageValidator, _super); + function PageValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PageValidator.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: "name", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PageValidator; + }(typeValidator_1.ObjectValidator)); + exports.PageValidator = PageValidator; + var PageViewFieldValidator = /** @class */ (function (_super) { + __extends(PageViewFieldValidator, _super); + function PageViewFieldValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PageViewFieldValidator.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 possibleValues = ["actualSize", "fitToWidth", "oneColumn"]; + if (possibleValues.indexOf(input) < 0) { + return [{ + message: "pageView must be a string with one of the following values: \"actualSize\", \"fitToWidth\", \"oneColumn\"" + }]; + } + return null; + }; + return PageViewFieldValidator; + }(typeValidator_1.StringValidator)); + exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 LoadQnaValidator = /** @class */ (function (_super) { - __extends(LoadQnaValidator, _super); - function LoadQnaValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - LoadQnaValidator.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: "accessToken", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "datasetIds", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] - }, - { - field: "question", - validators: [validator_1.Validators.stringValidator] - }, - { - field: "viewMode", - validators: [validator_1.Validators.viewModeValidator] - }, - { - field: "settings", - validators: [validator_1.Validators.qnaSettingValidator] - }, - { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] - }, - { - field: "groupId", - validators: [validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return LoadQnaValidator; - }(typeValidator_1.ObjectValidator)); - exports.LoadQnaValidator = LoadQnaValidator; - var QnaSettingsValidator = /** @class */ (function (_super) { - __extends(QnaSettingsValidator, _super); - function QnaSettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - QnaSettingsValidator.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: "filterPaneEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "hideErrors", - validators: [validator_1.Validators.booleanValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return QnaSettingsValidator; - }(typeValidator_1.ObjectValidator)); - exports.QnaSettingsValidator = QnaSettingsValidator; - var QnaInterpretInputDataValidator = /** @class */ (function (_super) { - __extends(QnaInterpretInputDataValidator, _super); - function QnaInterpretInputDataValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - QnaInterpretInputDataValidator.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: "datasetIds", - validators: [validator_1.Validators.stringArrayValidator] - }, - { - field: "question", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return QnaInterpretInputDataValidator; - }(typeValidator_1.ObjectValidator)); - exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; + 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 LoadQnaValidator = /** @class */ (function (_super) { + __extends(LoadQnaValidator, _super); + function LoadQnaValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + LoadQnaValidator.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: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "datasetIds", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] + }, + { + field: "question", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "viewMode", + validators: [validator_1.Validators.viewModeValidator] + }, + { + field: "settings", + validators: [validator_1.Validators.qnaSettingValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "groupId", + validators: [validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return LoadQnaValidator; + }(typeValidator_1.ObjectValidator)); + exports.LoadQnaValidator = LoadQnaValidator; + var QnaSettingsValidator = /** @class */ (function (_super) { + __extends(QnaSettingsValidator, _super); + function QnaSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + QnaSettingsValidator.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: "filterPaneEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "hideErrors", + validators: [validator_1.Validators.booleanValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return QnaSettingsValidator; + }(typeValidator_1.ObjectValidator)); + exports.QnaSettingsValidator = QnaSettingsValidator; + var QnaInterpretInputDataValidator = /** @class */ (function (_super) { + __extends(QnaInterpretInputDataValidator, _super); + function QnaInterpretInputDataValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + QnaInterpretInputDataValidator.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: "datasetIds", + validators: [validator_1.Validators.stringArrayValidator] + }, + { + field: "question", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return QnaInterpretInputDataValidator; + }(typeValidator_1.ObjectValidator)); + exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 SaveAsParametersValidator = /** @class */ (function (_super) { - __extends(SaveAsParametersValidator, _super); - function SaveAsParametersValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - SaveAsParametersValidator.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: "name", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return SaveAsParametersValidator; - }(typeValidator_1.ObjectValidator)); - exports.SaveAsParametersValidator = SaveAsParametersValidator; + 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 SaveAsParametersValidator = /** @class */ (function (_super) { + __extends(SaveAsParametersValidator, _super); + function SaveAsParametersValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SaveAsParametersValidator.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: "name", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SaveAsParametersValidator; + }(typeValidator_1.ObjectValidator)); + exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 typeValidator_1 = __webpack_require__(2); - var MapValidator = /** @class */ (function (_super) { - __extends(MapValidator, _super); - function MapValidator(keyValidators, valueValidators) { - var _this = _super.call(this) || this; - _this.keyValidators = keyValidators; - _this.valueValidators = valueValidators; - return _this; - } - MapValidator.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; - } - for (var key in input) { - if (input.hasOwnProperty(key)) { - var fieldsPath = (path ? path + "." : "") + field + "." + key; - for (var _i = 0, _a = this.keyValidators; _i < _a.length; _i++) { - var keyValidator = _a[_i]; - errors = keyValidator.validate(key, fieldsPath, field); - if (errors) { - return errors; - } - } - for (var _b = 0, _c = this.valueValidators; _b < _c.length; _b++) { - var valueValidator = _c[_b]; - errors = valueValidator.validate(input[key], fieldsPath, field); - if (errors) { - return errors; - } - } - } - } - return null; - }; - return MapValidator; - }(typeValidator_1.ObjectValidator)); - exports.MapValidator = MapValidator; + 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 typeValidator_1 = __webpack_require__(2); + var MapValidator = /** @class */ (function (_super) { + __extends(MapValidator, _super); + function MapValidator(keyValidators, valueValidators) { + var _this = _super.call(this) || this; + _this.keyValidators = keyValidators; + _this.valueValidators = valueValidators; + return _this; + } + MapValidator.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; + } + for (var key in input) { + if (input.hasOwnProperty(key)) { + var fieldsPath = (path ? path + "." : "") + field + "." + key; + for (var _i = 0, _a = this.keyValidators; _i < _a.length; _i++) { + var keyValidator = _a[_i]; + errors = keyValidator.validate(key, fieldsPath, field); + if (errors) { + return errors; + } + } + for (var _b = 0, _c = this.valueValidators; _b < _c.length; _b++) { + var valueValidator = _c[_b]; + errors = valueValidator.validate(input[key], fieldsPath, field); + if (errors) { + return errors; + } + } + } + } + return null; + }; + return MapValidator; + }(typeValidator_1.ObjectValidator)); + exports.MapValidator = MapValidator; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 CustomLayoutValidator = /** @class */ (function (_super) { - __extends(CustomLayoutValidator, _super); - function CustomLayoutValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CustomLayoutValidator.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: "pageSize", - validators: [validator_1.Validators.pageSizeValidator] - }, - { - field: "displayOption", - validators: [validator_1.Validators.customLayoutDisplayOptionValidator] - }, - { - field: "pagesLayout", - validators: [validator_1.Validators.pagesLayoutValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CustomLayoutValidator; - }(typeValidator_1.ObjectValidator)); - exports.CustomLayoutValidator = CustomLayoutValidator; - var VisualLayoutValidator = /** @class */ (function (_super) { - __extends(VisualLayoutValidator, _super); - function VisualLayoutValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - VisualLayoutValidator.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: "x", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "y", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "z", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "width", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "height", - validators: [validator_1.Validators.numberValidator] - }, - { - field: "displayState", - validators: [validator_1.Validators.displayStateValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return VisualLayoutValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualLayoutValidator = VisualLayoutValidator; - var DisplayStateValidator = /** @class */ (function (_super) { - __extends(DisplayStateValidator, _super); - function DisplayStateValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - DisplayStateValidator.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: "mode", - validators: [validator_1.Validators.displayStateModeValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return DisplayStateValidator; - }(typeValidator_1.ObjectValidator)); - exports.DisplayStateValidator = DisplayStateValidator; - var PageLayoutValidator = /** @class */ (function (_super) { - __extends(PageLayoutValidator, _super); - function PageLayoutValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - PageLayoutValidator.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: "visualsLayout", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator] - }, - { - field: "defaultLayout", - validators: [validator_1.Validators.visualLayoutValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return PageLayoutValidator; - }(typeValidator_1.ObjectValidator)); - exports.PageLayoutValidator = PageLayoutValidator; + 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 CustomLayoutValidator = /** @class */ (function (_super) { + __extends(CustomLayoutValidator, _super); + function CustomLayoutValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CustomLayoutValidator.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: "pageSize", + validators: [validator_1.Validators.pageSizeValidator] + }, + { + field: "displayOption", + validators: [validator_1.Validators.customLayoutDisplayOptionValidator] + }, + { + field: "pagesLayout", + validators: [validator_1.Validators.pagesLayoutValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CustomLayoutValidator; + }(typeValidator_1.ObjectValidator)); + exports.CustomLayoutValidator = CustomLayoutValidator; + var VisualLayoutValidator = /** @class */ (function (_super) { + __extends(VisualLayoutValidator, _super); + function VisualLayoutValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualLayoutValidator.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: "x", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "y", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "z", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "width", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "height", + validators: [validator_1.Validators.numberValidator] + }, + { + field: "displayState", + validators: [validator_1.Validators.displayStateValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return VisualLayoutValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualLayoutValidator = VisualLayoutValidator; + var DisplayStateValidator = /** @class */ (function (_super) { + __extends(DisplayStateValidator, _super); + function DisplayStateValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + DisplayStateValidator.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: "mode", + validators: [validator_1.Validators.displayStateModeValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return DisplayStateValidator; + }(typeValidator_1.ObjectValidator)); + exports.DisplayStateValidator = DisplayStateValidator; + var PageLayoutValidator = /** @class */ (function (_super) { + __extends(PageLayoutValidator, _super); + function PageLayoutValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PageLayoutValidator.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: "visualsLayout", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator] + }, + { + field: "defaultLayout", + validators: [validator_1.Validators.visualLayoutValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PageLayoutValidator; + }(typeValidator_1.ObjectValidator)); + exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 multipleFieldsValidator_1 = __webpack_require__(4); - var typeValidator_1 = __webpack_require__(2); - var ExportDataRequestValidator = /** @class */ (function (_super) { - __extends(ExportDataRequestValidator, _super); - function ExportDataRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ExportDataRequestValidator.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: "rows", - validators: [new typeValidator_1.NumberValidator()] - }, - { - field: "exportDataType", - validators: [new typeValidator_1.EnumValidator([0, 1])] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ExportDataRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.ExportDataRequestValidator = ExportDataRequestValidator; + 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 multipleFieldsValidator_1 = __webpack_require__(4); + var typeValidator_1 = __webpack_require__(2); + var ExportDataRequestValidator = /** @class */ (function (_super) { + __extends(ExportDataRequestValidator, _super); + function ExportDataRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ExportDataRequestValidator.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: "rows", + validators: [new typeValidator_1.NumberValidator()] + }, + { + field: "exportDataType", + validators: [new typeValidator_1.EnumValidator([0, 1])] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ExportDataRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 typeValidator_2 = __webpack_require__(2); - var VisualSelectorValidator = /** @class */ (function (_super) { - __extends(VisualSelectorValidator, _super); - function VisualSelectorValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - VisualSelectorValidator.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 = [ - { - // Not required for this selector only - Backward compatibility - field: "$schema", - validators: [validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualSelector")] - }, - { - field: "visualName", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return VisualSelectorValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualSelectorValidator = VisualSelectorValidator; - var VisualTypeSelectorValidator = /** @class */ (function (_super) { - __extends(VisualTypeSelectorValidator, _super); - function VisualTypeSelectorValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - VisualTypeSelectorValidator.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: "$schema", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualTypeSelector")] - }, - { - field: "visualType", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return VisualTypeSelectorValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualTypeSelectorValidator = VisualTypeSelectorValidator; - var SlicerTargetSelectorValidator = /** @class */ (function (_super) { - __extends(SlicerTargetSelectorValidator, _super); - function SlicerTargetSelectorValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - SlicerTargetSelectorValidator.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: "$schema", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#slicerTargetSelector")] - }, - { - field: "target", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerTargetValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return SlicerTargetSelectorValidator; - }(typeValidator_1.ObjectValidator)); - exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; + 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 typeValidator_2 = __webpack_require__(2); + var VisualSelectorValidator = /** @class */ (function (_super) { + __extends(VisualSelectorValidator, _super); + function VisualSelectorValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualSelectorValidator.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 = [ + { + // Not required for this selector only - Backward compatibility + field: "$schema", + validators: [validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualSelector")] + }, + { + field: "visualName", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return VisualSelectorValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualSelectorValidator = VisualSelectorValidator; + var VisualTypeSelectorValidator = /** @class */ (function (_super) { + __extends(VisualTypeSelectorValidator, _super); + function VisualTypeSelectorValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualTypeSelectorValidator.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: "$schema", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualTypeSelector")] + }, + { + field: "visualType", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return VisualTypeSelectorValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualTypeSelectorValidator = VisualTypeSelectorValidator; + var SlicerTargetSelectorValidator = /** @class */ (function (_super) { + __extends(SlicerTargetSelectorValidator, _super); + function SlicerTargetSelectorValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SlicerTargetSelectorValidator.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: "$schema", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#slicerTargetSelector")] + }, + { + field: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerTargetValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SlicerTargetSelectorValidator; + }(typeValidator_1.ObjectValidator)); + exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 21 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 SlicerValidator = /** @class */ (function (_super) { - __extends(SlicerValidator, _super); - function SlicerValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - SlicerValidator.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: "selector", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerSelectorValidator] - }, - { - field: "state", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerStateValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return SlicerValidator; - }(typeValidator_1.ObjectValidator)); - exports.SlicerValidator = SlicerValidator; - var SlicerStateValidator = /** @class */ (function (_super) { - __extends(SlicerStateValidator, _super); - function SlicerStateValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - SlicerStateValidator.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: "filters", - validators: [validator_1.Validators.filtersArrayValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return SlicerStateValidator; - }(typeValidator_1.ObjectValidator)); - exports.SlicerStateValidator = SlicerStateValidator; + 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 SlicerValidator = /** @class */ (function (_super) { + __extends(SlicerValidator, _super); + function SlicerValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SlicerValidator.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: "selector", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerSelectorValidator] + }, + { + field: "state", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerStateValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SlicerValidator; + }(typeValidator_1.ObjectValidator)); + exports.SlicerValidator = SlicerValidator; + var SlicerStateValidator = /** @class */ (function (_super) { + __extends(SlicerStateValidator, _super); + function SlicerStateValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SlicerStateValidator.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: "filters", + validators: [validator_1.Validators.filtersArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SlicerStateValidator; + }(typeValidator_1.ObjectValidator)); + exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 VisualSettingsValidator = /** @class */ (function (_super) { - __extends(VisualSettingsValidator, _super); - function VisualSettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - VisualSettingsValidator.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: "visualHeaders", - validators: [validator_1.Validators.visualHeadersValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return VisualSettingsValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualSettingsValidator = VisualSettingsValidator; - var VisualHeaderSettingsValidator = /** @class */ (function (_super) { - __extends(VisualHeaderSettingsValidator, _super); - function VisualHeaderSettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - VisualHeaderSettingsValidator.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 VisualHeaderSettingsValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualHeaderSettingsValidator = VisualHeaderSettingsValidator; - var VisualHeaderValidator = /** @class */ (function (_super) { - __extends(VisualHeaderValidator, _super); - function VisualHeaderValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - VisualHeaderValidator.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: "settings", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.visualHeaderSettingsValidator] - }, - { - field: "selector", - validators: [validator_1.Validators.visualHeaderSelectorValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return VisualHeaderValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualHeaderValidator = VisualHeaderValidator; + 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 VisualSettingsValidator = /** @class */ (function (_super) { + __extends(VisualSettingsValidator, _super); + function VisualSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualSettingsValidator.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: "visualHeaders", + validators: [validator_1.Validators.visualHeadersValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return VisualSettingsValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualSettingsValidator = VisualSettingsValidator; + var VisualHeaderSettingsValidator = /** @class */ (function (_super) { + __extends(VisualHeaderSettingsValidator, _super); + function VisualHeaderSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualHeaderSettingsValidator.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 VisualHeaderSettingsValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualHeaderSettingsValidator = VisualHeaderSettingsValidator; + var VisualHeaderValidator = /** @class */ (function (_super) { + __extends(VisualHeaderValidator, _super); + function VisualHeaderValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + VisualHeaderValidator.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: "settings", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.visualHeaderSettingsValidator] + }, + { + field: "selector", + validators: [validator_1.Validators.visualHeaderSelectorValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return VisualHeaderValidator; + }(typeValidator_1.ObjectValidator)); + exports.VisualHeaderValidator = VisualHeaderValidator; /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 CommandsSettingsValidator = /** @class */ (function (_super) { - __extends(CommandsSettingsValidator, _super); - function CommandsSettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CommandsSettingsValidator.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: "copy", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "drill", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "drillthrough", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "expandCollapse", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "exportData", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "includeExclude", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "removeVisual", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "search", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "seeData", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "sort", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - { - field: "spotlight", - validators: [validator_1.Validators.singleCommandSettingsValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CommandsSettingsValidator; - }(typeValidator_1.ObjectValidator)); - exports.CommandsSettingsValidator = CommandsSettingsValidator; - var SingleCommandSettingsValidator = /** @class */ (function (_super) { - __extends(SingleCommandSettingsValidator, _super); - function SingleCommandSettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - SingleCommandSettingsValidator.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: "displayOption", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandDisplayOptionValidator] - }, - { - field: "selector", - validators: [validator_1.Validators.visualCommandSelectorValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return SingleCommandSettingsValidator; - }(typeValidator_1.ObjectValidator)); - exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator; + 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 CommandsSettingsValidator = /** @class */ (function (_super) { + __extends(CommandsSettingsValidator, _super); + function CommandsSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CommandsSettingsValidator.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: "copy", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "drill", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "drillthrough", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "expandCollapse", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "exportData", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "includeExclude", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "removeVisual", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "search", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "seeData", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "sort", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "spotlight", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CommandsSettingsValidator; + }(typeValidator_1.ObjectValidator)); + exports.CommandsSettingsValidator = CommandsSettingsValidator; + var SingleCommandSettingsValidator = /** @class */ (function (_super) { + __extends(SingleCommandSettingsValidator, _super); + function SingleCommandSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + SingleCommandSettingsValidator.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: "displayOption", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandDisplayOptionValidator] + }, + { + field: "selector", + validators: [validator_1.Validators.visualCommandSelectorValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SingleCommandSettingsValidator; + }(typeValidator_1.ObjectValidator)); + exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator; /***/ }), /* 24 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 multipleFieldsValidator_1 = __webpack_require__(4); - var typeValidator_1 = __webpack_require__(2); - var CustomThemeValidator = /** @class */ (function (_super) { - __extends(CustomThemeValidator, _super); - function CustomThemeValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CustomThemeValidator.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: "themeJson", - validators: [new typeValidator_1.ObjectValidator()] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CustomThemeValidator; - }(typeValidator_1.ObjectValidator)); - exports.CustomThemeValidator = CustomThemeValidator; + 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 multipleFieldsValidator_1 = __webpack_require__(4); + var typeValidator_1 = __webpack_require__(2); + var CustomThemeValidator = /** @class */ (function (_super) { + __extends(CustomThemeValidator, _super); + function CustomThemeValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CustomThemeValidator.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: "themeJson", + validators: [new typeValidator_1.ObjectValidator()] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CustomThemeValidator; + }(typeValidator_1.ObjectValidator)); + exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 25 */ /***/ (function(module, exports, __webpack_require__) { - var __extends = (this && this.__extends) || (function () { - var 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 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 DatasetBindingValidator = /** @class */ (function (_super) { - __extends(DatasetBindingValidator, _super); - function DatasetBindingValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - DatasetBindingValidator.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: "datasetId", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return DatasetBindingValidator; - }(typeValidator_1.ObjectValidator)); - exports.DatasetBindingValidator = DatasetBindingValidator; + 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 DatasetBindingValidator = /** @class */ (function (_super) { + __extends(DatasetBindingValidator, _super); + function DatasetBindingValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + DatasetBindingValidator.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: "datasetId", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return DatasetBindingValidator; + }(typeValidator_1.ObjectValidator)); + exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }) - /******/ ]) + /******/ ]); }); - ; //# sourceMappingURL=models.js.map /***/ }), @@ -4616,6 +4761,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {service.Service} service * @param {HTMLElement} element * @param {embed.IEmbedConfiguration} config + * @hidden */ function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { var config = baseConfig; @@ -4634,6 +4780,7 @@ return /******/ (function(modules) { // webpackBootstrap * @static * @param {string} url * @returns {string} + * @hidden */ Report.findIdFromEmbedUrl = function (url) { var reportIdRegEx = /reportId="?([^&]+)"?/; @@ -4887,6 +5034,10 @@ return /******/ (function(modules) { // webpackBootstrap } config.id = this.getId(); }; + /** + * @hidden + * @returns {string} + */ Report.prototype.getDefaultEmbedUrlEndpoint = function () { return "reportEmbed"; }; @@ -4969,6 +5120,9 @@ return /******/ (function(modules) { // webpackBootstrap } return this.applyThemeInternal({}); }; + /** + * @hidden + */ Report.prototype.applyThemeInternal = function (theme) { return this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow) .then(function (response) { @@ -4978,6 +5132,9 @@ return /******/ (function(modules) { // webpackBootstrap throw response.body; }); }; + /** + * @hidden + */ Report.prototype.viewModeToString = function (viewMode) { var mode; switch (viewMode) { @@ -4990,14 +5147,23 @@ return /******/ (function(modules) { // webpackBootstrap } return mode; }; + /** + * @hidden + */ Report.prototype.isMobileSettings = function (settings) { return settings && (settings.layoutType === models.LayoutType.MobileLandscape || settings.layoutType === models.LayoutType.MobilePortrait); }; + /** @hidden */ Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked"]; + /** @hidden */ Report.reportIdAttribute = 'powerbi-report-id'; + /** @hidden */ Report.filterPaneEnabledAttribute = 'powerbi-settings-filter-pane-enabled'; + /** @hidden */ Report.navContentPaneEnabledAttribute = 'powerbi-settings-nav-content-pane-enabled'; + /** @hidden */ Report.typeAttribute = 'powerbi-type'; + /** @hidden */ Report.type = "Report"; return Report; }(embed.Embed)); @@ -5029,6 +5195,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {string} [displayName] * @param {boolean} [isActivePage] * @param {models.SectionVisibility} [visibility] + * @hidden */ function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { this.report = report; @@ -5166,6 +5333,9 @@ return /******/ (function(modules) { // webpackBootstrap * @implements {IVisualNode} */ var VisualDescriptor = (function () { + /** + * @hidden + */ function VisualDescriptor(page, name, title, type, layout) { this.name = name; this.title = title; @@ -5309,6 +5479,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 10 */ /***/ (function(module, exports) { + /** @hidden */ var Defaults = (function () { function Defaults() { } @@ -5337,6 +5508,9 @@ return /******/ (function(modules) { // webpackBootstrap * @implements {IBookmarksManager} */ var BookmarksManager = (function () { + /** + * @hidden + */ function BookmarksManager(service, config, iframe) { this.service = service; this.config = config; @@ -5365,7 +5539,7 @@ return /******/ (function(modules) { // webpackBootstrap }); }; /** - * Apply bookmark By name. + * Apply bookmark by name. * * ```javascript * bookmarksManager.apply(bookmarkName) @@ -5429,7 +5603,7 @@ return /******/ (function(modules) { // webpackBootstrap * Apply bookmark state. * * ```javascript - * bookmarksManager.applyState(bookmarkName) + * bookmarksManager.applyState(bookmarkState) * ``` * * @returns {Promise} @@ -5463,8 +5637,18 @@ return /******/ (function(modules) { // webpackBootstrap var models = __webpack_require__(5); var embed = __webpack_require__(2); var utils = __webpack_require__(3); + /** + * A Power BI Report creator component + * + * @export + * @class Create + * @extends {embed.Embed} + */ var Create = (function (_super) { __extends(Create, _super); + /* + * @hidden + */ function Create(service, element, config, phasedRender, isBootstrap) { _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); } @@ -5505,6 +5689,10 @@ return /******/ (function(modules) { // webpackBootstrap theme: config.theme }; }; + /** + * @hidden + * @returns {string} + */ Create.prototype.getDefaultEmbedUrlEndpoint = function () { return "reportEmbed"; }; @@ -5570,6 +5758,7 @@ return /******/ (function(modules) { // webpackBootstrap * Creates an instance of a Power BI Dashboard. * * @param {service.Service} service + * @hidden * @param {HTMLElement} element */ function Dashboard(service, element, config, phasedRender, isBootstrap) { @@ -5620,7 +5809,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /** * Handle config changes. - * + * @hidden * @returns {void} */ Dashboard.prototype.configChanged = function (isBootstrap) { @@ -5630,20 +5819,29 @@ return /******/ (function(modules) { // webpackBootstrap // Populate dashboard id into config object. this.config.id = this.getId(); }; + /** + * @hidden + * @returns {string} + */ Dashboard.prototype.getDefaultEmbedUrlEndpoint = function () { return "dashboardEmbed"; }; /** * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in models.PageView + * @hidden */ Dashboard.prototype.ValidatePageView = function (pageView) { if (pageView && pageView !== "fitToWidth" && pageView !== "oneColumn" && pageView !== "actualSize") { return [{ message: "pageView must be one of the followings: fitToWidth, oneColumn, actualSize" }]; } }; + /** @hidden */ Dashboard.allowedEvents = ["tileClicked", "error"]; + /** @hidden */ Dashboard.dashboardIdAttribute = 'powerbi-dashboard-id'; + /** @hidden */ Dashboard.typeAttribute = 'powerbi-type'; + /** @hidden */ Dashboard.type = "Dashboard"; return Dashboard; }(embed.Embed)); @@ -5670,6 +5868,9 @@ return /******/ (function(modules) { // webpackBootstrap */ var Tile = (function (_super) { __extends(Tile, _super); + /** + * @hidden + */ function Tile(service, element, baseConfig, phasedRender, isBootstrap) { var config = baseConfig; _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); @@ -5708,6 +5909,10 @@ return /******/ (function(modules) { // webpackBootstrap // Populate tile id into config object. this.config.id = this.getId(); }; + /** + * @hidden + * @returns {string} + */ Tile.prototype.getDefaultEmbedUrlEndpoint = function () { return "tileEmbed"; }; @@ -5728,7 +5933,9 @@ return /******/ (function(modules) { // webpackBootstrap } return tileId; }; + /** @hidden */ Tile.type = "Tile"; + /** @hidden */ Tile.allowedEvents = ["tileClicked", "tileLoaded"]; return Tile; }(embed.Embed)); @@ -5755,6 +5962,9 @@ return /******/ (function(modules) { // webpackBootstrap */ var Qna = (function (_super) { __extends(Qna, _super); + /** + * @hidden + */ function Qna(service, element, config, phasedRender, isBootstrap) { _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); this.loadPath = "/qna/load"; @@ -5792,6 +6002,10 @@ return /******/ (function(modules) { // webpackBootstrap Qna.prototype.configChanged = function (isBootstrap) { // Nothing to do in qna embed. }; + /** + * @hidden + * @returns {string} + */ Qna.prototype.getDefaultEmbedUrlEndpoint = function () { return "qnaEmbed"; }; @@ -5801,7 +6015,9 @@ return /******/ (function(modules) { // webpackBootstrap Qna.prototype.validate = function (config) { return models.validateLoadQnaConfiguration(config); }; + /** @hidden */ Qna.type = "Qna"; + /** @hidden */ Qna.allowedEvents = ["loaded", "visualRendered"]; return Qna; }(embed.Embed)); @@ -5833,6 +6049,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {service.Service} service * @param {HTMLElement} element * @param {embed.IEmbedConfiguration} config + * @hidden */ function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe); @@ -5962,6 +6179,9 @@ return /******/ (function(modules) { // webpackBootstrap Visual.prototype.removeFilters = function (filtersLevel) { return this.setFilters([], filtersLevel); }; + /** + * @hidden + */ Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { var config = this.config; switch (filtersLevel) { @@ -5973,8 +6193,11 @@ return /******/ (function(modules) { // webpackBootstrap return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; } }; + /** @hidden */ Visual.type = "visual"; + /** @hidden */ Visual.GetPagesNotSupportedError = "Get pages is not supported while embedding a visual."; + /** @hidden */ Visual.SetPageNotSupportedError = "Set page is not supported while embedding a visual."; return Visual; }(report_1.Report)); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 43c196f8..8a025e9e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,8 +1,8 @@ -/*! powerbi-client v2.10.4 | (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.10.4",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.3.2 | (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)===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 T(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 O(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=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 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,a,i){var o=t.call(this,r,K.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,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,a,i){var o=t.call(this,r,K.IncludeExclude)||this;return o.values=i,o.isExclude=a,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 at=function(t){function e(r,a,i,o){var n=t.call(this,r,K.TopN)||this;return n.operator=a,n.itemCount=i,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=at;var it=function(t){function e(r,a,i,o,n){var l=t.call(this,r,K.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,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=it;var ot=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 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=a,e.isBasicFilterWithKeys=i,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 a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}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 a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}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=T,e.validateTileLoad=P,e.validatePage=O,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 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),g=r(18),V=r(19),w=r(20),b=r(21),E=r(22),S=r(23),T=r(24),P=r(25);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]),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,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 S.CommandsSettingsValidator]),commandsSettingsValidator:new S.CommandsSettingsValidator,conditionItemValidator:new l.ConditionItemValidator,contrastModeValidator:new a.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new a.EnumValidator([0,1,2]),customLayoutValidator:new g.CustomLayoutValidator,customPageSizeValidator:new h.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new P.DatasetBindingValidator,displayStateModeValidator:new a.EnumValidator([0,1]),displayStateValidator:new g.DisplayStateValidator,exportDataRequestValidator:new V.ExportDataRequestValidator,extensionArrayValidator:new a.ArrayValidator([new i.ExtensionValidator]),extensionPointsValidator:new i.ExtensionPointsValidator,extensionValidator: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,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 g.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 g.PageLayoutValidator]),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,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 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]),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 a.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=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;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>=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;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 Date: Tue, 17 Mar 2020 07:11:18 +0000 Subject: [PATCH 009/150] 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 010/150] 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 011/150] 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 012/150] 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 013/150] 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 014/150] 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 015/150] 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 016/150] 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 017/150] 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 018/150] 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 019/150] 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 020/150] 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 021/150] 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: -
+